summaryrefslogtreecommitdiffstats
path: root/src/network/access
diff options
context:
space:
mode:
authorTimur Pocheptsov <timur.pocheptsov@qt.io>2017-04-04 13:58:24 +0200
committerTimur Pocheptsov <timur.pocheptsov@qt.io>2017-04-04 16:42:10 +0000
commitce2771c71c6679a020ae66ac6602e04621a66a8f (patch)
tree13dc2a9bdf4d2d899c302776f92ea586932cabfb /src/network/access
parent1b2234c4e7d8f1ddb9f22312b4563da2db5ad303 (diff)
QNetworkRequest - do not set ManualRedirectPolicy
If QNAM's general policy is 'Manual' and QNetworkRequest has neither policy set not FollowRedirectAttribute - do NOT set this 'Manual' policy - its implicitly implied. This fixes previously unnoticed auto test failure (was blacklisted) and also makes QNetworkRequest::operator == work correctly. Change-Id: If17c9af4baf8a470659f82d1a40488078ea8ede0 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Diffstat (limited to 'src/network/access')
-rw-r--r--src/network/access/qnetworkaccessmanager.cpp6
1 files changed, 2 insertions, 4 deletions
diff --git a/src/network/access/qnetworkaccessmanager.cpp b/src/network/access/qnetworkaccessmanager.cpp
index 0a6270d417..018586f9dc 100644
--- a/src/network/access/qnetworkaccessmanager.cpp
+++ b/src/network/access/qnetworkaccessmanager.cpp
@@ -1280,11 +1280,9 @@ QNetworkReply *QNetworkAccessManager::createRequest(QNetworkAccessManager::Opera
Q_D(QNetworkAccessManager);
QNetworkRequest req(originalReq);
- if (req.attribute(QNetworkRequest::RedirectPolicyAttribute).isNull()
+ if (redirectPolicy() != QNetworkRequest::ManualRedirectPolicy
+ && req.attribute(QNetworkRequest::RedirectPolicyAttribute).isNull()
&& req.attribute(QNetworkRequest::FollowRedirectsAttribute).isNull()) {
- // We only apply the general manager's policy if:
- // - RedirectPolicyAttribute is not set already on request and
- // - no FollowRedirectsAttribute is set.
req.setAttribute(QNetworkRequest::RedirectPolicyAttribute, redirectPolicy());
}