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>bb10
parent
8f27586b1e
commit
5ce218e142
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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))
|
||||
|
|
|
|||
Loading…
Reference in New Issue