diff options
author | Allan Sandfeld Jensen <allan.jensen@theqtcompany.com> | 2015-03-13 10:33:34 +0100 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@theqtcompany.com> | 2015-03-13 10:24:47 +0000 |
commit | 5ce218e14226e15ab928e2ddf8bbaaded78a46fa (patch) | |
tree | 833b7a8d02de8d9623a91ffa3cc29e495907d594 /src/network/access | |
parent | 8f27586b1e96ad377ac84bc6853fd522cdd09af2 (diff) |
Fix warning and improve the signature of parseRedirectResponse
Fixes unnecessary indirect return value and deprecated construction
of QString from QByteArray.
Change-Id: I4b654348285923ac1df39fc03784175ad6acb674
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Richard J. Moore <rich@kde.org>
Diffstat (limited to 'src/network/access')
-rw-r--r-- | src/network/access/qhttpnetworkconnection.cpp | 16 | ||||
-rw-r--r-- | src/network/access/qhttpnetworkconnection_p.h | 2 | ||||
-rw-r--r-- | src/network/access/qhttpnetworkconnectionchannel.cpp | 4 |
3 files changed, 10 insertions, 12 deletions
diff --git a/src/network/access/qhttpnetworkconnection.cpp b/src/network/access/qhttpnetworkconnection.cpp index 7eaa7535ee..0732a38a6e 100644 --- a/src/network/access/qhttpnetworkconnection.cpp +++ b/src/network/access/qhttpnetworkconnection.cpp @@ -506,10 +506,10 @@ bool QHttpNetworkConnectionPrivate::handleAuthenticateChallenge(QAbstractSocket return false; } -bool QHttpNetworkConnectionPrivate::parseRedirectResponse(QAbstractSocket *socket, QHttpNetworkReply *reply, QUrl *redirectUrl) +QUrl QHttpNetworkConnectionPrivate::parseRedirectResponse(QAbstractSocket *socket, QHttpNetworkReply *reply) { if (!reply->request().isFollowRedirects()) - return false; + return QUrl(); QUrl rUrl; QList<QPair<QByteArray, QByteArray> > fields = reply->header(); @@ -523,13 +523,13 @@ bool QHttpNetworkConnectionPrivate::parseRedirectResponse(QAbstractSocket *socke // If the location url is invalid/empty, we emit ProtocolUnknownError if (!rUrl.isValid()) { emitReplyError(socket, reply, QNetworkReply::ProtocolUnknownError); - return false; + return QUrl(); } // Check if we have exceeded max redirects allowed if (reply->request().redirectCount() <= 0) { emitReplyError(socket, reply, QNetworkReply::TooManyRedirectsError); - return false; + return QUrl(); } // Resolve the URL if it's relative @@ -544,15 +544,13 @@ bool QHttpNetworkConnectionPrivate::parseRedirectResponse(QAbstractSocket *socke if (previousUrlScheme == QLatin1String("https") && scheme == QLatin1String("http")) { emitReplyError(socket, reply, QNetworkReply::InsecureRedirectError); - return false; + return QUrl(); } } else { emitReplyError(socket, reply, QNetworkReply::ProtocolUnknownError); - return false; + return QUrl(); } - redirectUrl->setUrl(QString(rUrl.toEncoded())); - - return true; + return rUrl; } void QHttpNetworkConnectionPrivate::createAuthorization(QAbstractSocket *socket, QHttpNetworkRequest &request) diff --git a/src/network/access/qhttpnetworkconnection_p.h b/src/network/access/qhttpnetworkconnection_p.h index 858cb7be80..9af39d416a 100644 --- a/src/network/access/qhttpnetworkconnection_p.h +++ b/src/network/access/qhttpnetworkconnection_p.h @@ -250,7 +250,7 @@ public: void emitReplyError(QAbstractSocket *socket, QHttpNetworkReply *reply, QNetworkReply::NetworkError errorCode); bool handleAuthenticateChallenge(QAbstractSocket *socket, QHttpNetworkReply *reply, bool isProxy, bool &resend); - bool parseRedirectResponse(QAbstractSocket *socket, QHttpNetworkReply *reply, QUrl *redirectUrl); + QUrl parseRedirectResponse(QAbstractSocket *socket, QHttpNetworkReply *reply); #ifndef QT_NO_NETWORKPROXY QNetworkProxy networkProxy; diff --git a/src/network/access/qhttpnetworkconnectionchannel.cpp b/src/network/access/qhttpnetworkconnectionchannel.cpp index 82e573095b..647967839a 100644 --- a/src/network/access/qhttpnetworkconnectionchannel.cpp +++ b/src/network/access/qhttpnetworkconnectionchannel.cpp @@ -498,8 +498,8 @@ void QHttpNetworkConnectionChannel::handleStatus() case 305: case 307: { // Parse the response headers and get the "location" url - QUrl redirectUrl; - if (connection->d_func()->parseRedirectResponse(socket, reply, &redirectUrl)) + QUrl redirectUrl = connection->d_func()->parseRedirectResponse(socket, reply); + if (redirectUrl.isValid()) reply->setRedirectUrl(redirectUrl); if (qobject_cast<QHttpNetworkConnection *>(connection)) |