summaryrefslogtreecommitdiffstats
path: root/src/network/access/qnetworkreplyhttpimpl.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/network/access/qnetworkreplyhttpimpl.cpp')
-rw-r--r--src/network/access/qnetworkreplyhttpimpl.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/network/access/qnetworkreplyhttpimpl.cpp b/src/network/access/qnetworkreplyhttpimpl.cpp
index 00f3468ebd..03ed596586 100644
--- a/src/network/access/qnetworkreplyhttpimpl.cpp
+++ b/src/network/access/qnetworkreplyhttpimpl.cpp
@@ -655,8 +655,14 @@ void QNetworkReplyHttpImplPrivate::postRequest(const QNetworkRequest &newHttpReq
}
#endif
- if (newHttpRequest.attribute(QNetworkRequest::FollowRedirectsAttribute).toBool())
- httpRequest.setFollowRedirects(true);
+ auto redirectsPolicy = QNetworkRequest::ManualRedirectsPolicy;
+ const QVariant value = newHttpRequest.attribute(QNetworkRequest::RedirectsPolicyAttribute);
+ if (value.isValid())
+ redirectsPolicy = value.value<QNetworkRequest::RedirectsPolicy>();
+ else if (newHttpRequest.attribute(QNetworkRequest::FollowRedirectsAttribute).toBool())
+ redirectsPolicy = QNetworkRequest::NoLessSafeRedirectsPolicy;
+
+ httpRequest.setRedirectsPolicy(redirectsPolicy);
httpRequest.setPriority(convert(newHttpRequest.priority()));