summaryrefslogtreecommitdiffstats
path: root/src/network/access
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@theqtcompany.com>2015-03-13 10:33:34 +0100
committerAllan Sandfeld Jensen <allan.jensen@theqtcompany.com>2015-03-13 10:24:47 +0000
commit5ce218e14226e15ab928e2ddf8bbaaded78a46fa (patch)
tree833b7a8d02de8d9623a91ffa3cc29e495907d594 /src/network/access
parent8f27586b1e96ad377ac84bc6853fd522cdd09af2 (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.cpp16
-rw-r--r--src/network/access/qhttpnetworkconnection_p.h2
-rw-r--r--src/network/access/qhttpnetworkconnectionchannel.cpp4
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))