302    void setSslErrorHandler( std::unique_ptr< QgsSslErrorHandler > handler );
 
  320    void setAuthHandler( std::unique_ptr< QgsNetworkAuthenticationHandler > handler );
 
  331    void insertProxyFactory( QNetworkProxyFactory *factory 
SIP_TRANSFER );
 
  347    const QList<QNetworkProxyFactory *> proxyFactories() 
const;
 
  357    const QNetworkProxy &fallbackProxy() 
const;
 
  368    QStringList excludeList() 
const;
 
  379    QStringList noProxyList() 
const;
 
  392    void setFallbackProxyAndExcludes( 
const QNetworkProxy &proxy, 
const QStringList &excludes, 
const QStringList &noProxyURLs );
 
  399    static QString cacheLoadControlName( QNetworkRequest::CacheLoadControl control );
 
  406    static QNetworkRequest::CacheLoadControl cacheLoadControlFromName( 
const QString &name );
 
  415    void setupDefaultProxyAndCache( Qt::ConnectionType connectionType = Qt::BlockingQueuedConnection );
 
  452    static int timeout();
 
  461    static void setTimeout( 
int time );
 
  483    static QgsNetworkReplyContent blockingGet( QNetworkRequest &request, 
const QString &authCfg = QString(), 
bool forceRefresh = 
false, 
QgsFeedback *feedback = 
nullptr );
 
  505    static QgsNetworkReplyContent blockingPost( QNetworkRequest &request, 
const QByteArray &data, 
const QString &authCfg = QString(), 
bool forceRefresh = 
false, 
QgsFeedback *feedback = 
nullptr );
 
  519    static QString setRequestPreprocessor( 
const std::function< 
void( QNetworkRequest *request )> &processor );
 
  521    static QString setRequestPreprocessor( SIP_PYCALLABLE / AllowNone / );
 
  526    Py_BEGIN_ALLOW_THREADS
 
  531      PyObject *s = sipCallMethod( NULL, a0, 
"D", arg, sipType_QNetworkRequest, NULL );
 
  534      QString *t1 = 
reinterpret_cast<QString *
>( sipConvertToType( s, sipType_QString, 0, SIP_NOT_NONE, &state, &sipIsError ) );
 
  535      if ( sipIsError == 0 )
 
  537        res = QString( *t1 );
 
  539      sipReleaseType( t1, sipType_QString, state );
 
  545    s = sipConvertFromNewType( 
new QString( 
id ), sipType_QString, 0 );
 
  561    static bool removeRequestPreprocessor( 
const QString &
id );
 
  563    static void removeRequestPreprocessor( 
const QString &
id );
 
  567      PyErr_SetString( PyExc_KeyError, QStringLiteral( 
"No processor with id %1 exists." ).arg( *a0 ).toUtf8().constData() );
 
  589    static QString setAdvancedRequestPreprocessor( 
const std::function< 
void( QNetworkRequest *, 
int &op, QByteArray *data )> &processor );
 
  591    static QString setAdvancedRequestPreprocessor( SIP_PYCALLABLE / AllowNone / );
 
  596    Py_BEGIN_ALLOW_THREADS
 
  601      PyObject *requestObj = sipConvertFromType( reqArg, sipType_QNetworkRequest, NULL );
 
  602      PyObject *postDataObj = sipConvertFromType( 
new QByteArray( *data ), sipType_QByteArray, Py_None );
 
  604      PyObject *result = sipCallMethod( NULL, a0, 
"RiR", requestObj, op, postDataObj );
 
  606      Py_XDECREF( requestObj );
 
  607      Py_XDECREF( postDataObj );
 
  609      if ( result && PyTuple_Check( result ) && PyTuple_Size( result ) == 2 )
 
  612        PyObject *opObj = PyTuple_GetItem( result, 0 );
 
  613        if ( opObj && PyLong_Check( opObj ) )
 
  615          op = 
static_cast<int>( PyLong_AsLong( opObj ) );
 
  617        PyObject *dataObj = PyTuple_GetItem( result, 1 );
 
  618        if ( dataObj && dataObj != Py_None )
 
  622          QByteArray *modifiedData = 
reinterpret_cast<QByteArray *
>( sipConvertToType( dataObj, sipType_QByteArray, 0, SIP_NOT_NONE, &dataState, &sipIsErr ) );
 
  626            data->append( *modifiedData );
 
  627            sipReleaseType( modifiedData, sipType_QByteArray, dataState );
 
  632      Py_XDECREF( result );
 
  637    s = sipConvertFromNewType( 
new QString( 
id ), sipType_QString, 0 );
 
  653    static bool removeAdvancedRequestPreprocessor( 
const QString &
id );
 
  655    static void removeAdvancedRequestPreprocessor( 
const QString &
id );
 
  659      PyErr_SetString( PyExc_KeyError, QStringLiteral( 
"No processor with id %1 exists." ).arg( *a0 ).toUtf8().constData() );
 
  678    static QString setReplyPreprocessor( 
const std::function<
void ( 
const QNetworkRequest &, QNetworkReply * )> &processor );
 
  680    static QString setReplyPreprocessor( SIP_PYCALLABLE / AllowNone / );
 
  685    Py_BEGIN_ALLOW_THREADS
 
  689      Py_XDECREF( sipCallMethod( NULL, a0, 
"ND", 
new QNetworkRequest( request ), sipType_QNetworkRequest, NULL, reply, sipType_QNetworkReply, NULL ) );
 
  694    s = sipConvertFromNewType( 
new QString( 
id ), sipType_QString, 0 );
 
  710    static bool removeReplyPreprocessor( 
const QString &
id );
 
  712    static void removeReplyPreprocessor( 
const QString &
id );
 
  716      PyErr_SetString( PyExc_KeyError, QStringLiteral( 
"No processor with id %1 exists." ).arg( *a0 ).toUtf8().constData() );
 
  728    void requestAuthOpenBrowser( 
const QUrl &url ) 
const;
 
  736    void requestAuthCloseBrowser() 
const;
 
  744    void abortAuthBrowser();
 
  757    void preprocessRequest( QNetworkRequest *req ) 
const;
 
  894    void sslErrorsOccurred( QNetworkReply *, 
const QList<QSslError> &errors );
 
  895    void sslErrorsHandled( QNetworkReply *reply );
 
  914    void authRequestOccurred( QNetworkReply *, QAuthenticator *auth );
 
  915    void authRequestHandled( QNetworkReply *reply );
 
  936    void onReplyFinished( QNetworkReply *reply );
 
  938    void onReplyDownloadProgress( qint64 bytesReceived, qint64 bytesTotal );
 
  940    void onReplySslErrors( 
const QList<QSslError> &errors );
 
  942    void handleSslErrors( QNetworkReply *reply, 
const QList<QSslError> &errors );
 
  945    void onAuthRequired( QNetworkReply *reply, QAuthenticator *auth );
 
  946    void handleAuthRequest( QNetworkReply *reply, QAuthenticator *auth );
 
  948    void syncCookies( 
const QList<QNetworkCookie> &cookies );
 
  951    QNetworkReply *createRequest( QNetworkAccessManager::Operation op, 
const QNetworkRequest &req, QIODevice *outgoingData = 
nullptr ) 
override;
 
  955    void afterSslErrorHandled( QNetworkReply *reply );
 
  958    void afterAuthRequestHandled( QNetworkReply *reply );
 
  960    void pauseTimeout( QNetworkReply *reply );
 
  961    void restartTimeout( QNetworkReply *reply );
 
  962    static int getRequestId( QNetworkReply *reply );
 
  964    QList<QNetworkProxyFactory *> mProxyFactories;
 
  965    QNetworkProxy mFallbackProxy;
 
  966    QStringList mExcludedURLs;
 
  967    QStringList mNoProxyURLs;
 
  968    bool mUseSystemProxy = 
false;
 
  969    bool mInitialized = 
false;
 
  970    bool mCacheDisabled = 
false;
 
  973    std::unique_ptr< QgsSslErrorHandler > mSslErrorHandler;
 
  975    QSemaphore mSslErrorHandlerSemaphore;
 
  978    std::unique_ptr< QgsNetworkAuthenticationHandler > mAuthHandler;
 
  980    QSemaphore mAuthRequestHandlerSemaphore;
 
  982    friend class TestQgsNetworkAccessManager;