diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/networkaccessmanager.cpp | 26 | ||||
| -rw-r--r-- | src/networkaccessmanager.h | 4 | 
2 files changed, 19 insertions, 11 deletions
| diff --git a/src/networkaccessmanager.cpp b/src/networkaccessmanager.cpp index c19cf508..b2958d9e 100644 --- a/src/networkaccessmanager.cpp +++ b/src/networkaccessmanager.cpp @@ -210,12 +210,20 @@ KIO::MetaData& NetworkAccessManager::metaData()  }; -// QNetworkReply *NetworkAccessManager::createRequest(Operation op, const QNetworkRequest &req, QIODevice *outgoingData) -// { -//     // FIXME: rude hack. Waiting for a real POST behaviour fix ;) -//     if(op == PostOperation) -//     { -//         return QNetworkAccessManager::createRequest(op,req,outgoingData); -//     } -//     return AccessManager::createRequest(op,req,outgoingData); -// } +QNetworkReply *NetworkAccessManager::createRequest(Operation op, const QNetworkRequest &req, QIODevice *outgoingData) +{ +    // TODO implement Ad-Block here (refuse connections..) +     +    QNetworkRequest request(req); + +    KIO::MetaData metaData(m_metaData); + +    QVariant attr = req.attribute(QNetworkRequest::User); +    if (attr.isValid() && attr.type() == QVariant::Map) +    { +        metaData += attr.toMap(); +    } +    request.setAttribute(QNetworkRequest::User, metaData.toVariant()); + +    return AccessManager::createRequest(op,request,outgoingData); +} diff --git a/src/networkaccessmanager.h b/src/networkaccessmanager.h index 7297262d..45a3e9f9 100644 --- a/src/networkaccessmanager.h +++ b/src/networkaccessmanager.h @@ -50,8 +50,8 @@ public:  public slots:      void loadSettings(); -// protected: -//     virtual QNetworkReply *createRequest(Operation op, const QNetworkRequest &req, QIODevice *outgoingData = 0); +protected: +    virtual QNetworkReply *createRequest(Operation op, const QNetworkRequest &req, QIODevice *outgoingData = 0);  private slots:      void authenticationRequired(QNetworkReply *reply, QAuthenticator *auth); | 
