summaryrefslogtreecommitdiffstats
path: root/tests/auto/network
diff options
context:
space:
mode:
authorFrederik Gladhorn <frederik.gladhorn@qt.io>2019-09-07 15:51:34 +0200
committerMÃ¥rten Nordheim <marten.nordheim@qt.io>2020-08-13 19:58:19 +0200
commitd12afeff4097dd78f1311511e0c8f74e1a810d47 (patch)
treeb41eaa0cc15ff19faf2a6a6e9e0f4e2b43c16abb /tests/auto/network
parent09e22c6c3280d4187b1ed2d979ceea478b7bed75 (diff)
Set default redirect policy to NoLessSafeRedirectPolicy
Not following redirects is not a feature, but just a hastle for everyone. The main issue with switching this default is that applications that actually do manual redirect handling will break in various ways. FollowRedirectsAttribute was removed as it no longer serves any purpose beyond duplicating the default value. [ChangeLog][Network] QNetworkAccessManager now follows redirects by default with the NoLessSafeRedirectPolicy. [ChangeLog][Potentially Source-Incompatible Changes] QNetworkRequest::FollowRedirectsAttribute was removed and has been superseded by QNetworkRequest::RedirectsPolicyAttribute Fixes: QTBUG-85901 Change-Id: Ic5b776180a4b84ac4fc895158bb5a66a3c91a042 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Diffstat (limited to 'tests/auto/network')
-rw-r--r--tests/auto/network/access/http2/tst_http2.cpp2
-rw-r--r--tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp22
2 files changed, 12 insertions, 12 deletions
diff --git a/tests/auto/network/access/http2/tst_http2.cpp b/tests/auto/network/access/http2/tst_http2.cpp
index 775c9604b9..bc685e5ca9 100644
--- a/tests/auto/network/access/http2/tst_http2.cpp
+++ b/tests/auto/network/access/http2/tst_http2.cpp
@@ -935,7 +935,7 @@ void tst_Http2::sendRequest(int streamNumber,
QNetworkRequest request(url);
request.setAttribute(QNetworkRequest::Http2AllowedAttribute, QVariant(true));
- request.setAttribute(QNetworkRequest::FollowRedirectsAttribute, QVariant(true));
+ request.setAttribute(QNetworkRequest::RedirectPolicyAttribute, QNetworkRequest::NoLessSafeRedirectPolicy);
request.setHeader(QNetworkRequest::ContentTypeHeader, QVariant("text/plain"));
request.setPriority(priority);
request.setHttp2Configuration(h2Config);
diff --git a/tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp b/tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp
index 109d4ce406..6bec0c8ee1 100644
--- a/tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp
+++ b/tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp
@@ -8178,7 +8178,7 @@ void tst_QNetworkReply::ioHttpSingleRedirect()
localhost.setPort(server.serverPort());
QNetworkRequest request(localhost);
- request.setAttribute(QNetworkRequest::FollowRedirectsAttribute, true);
+ request.setAttribute(QNetworkRequest::RedirectPolicyAttribute, QNetworkRequest::NoLessSafeRedirectPolicy);
QNetworkReplyPtr reply(manager.get(request));
QSignalSpy redSpy(reply.data(), SIGNAL(redirected(QUrl)));
@@ -8223,7 +8223,7 @@ void tst_QNetworkReply::ioHttpChangeMaxRedirects()
localhost.setPort(server1.serverPort());
QNetworkRequest request(localhost);
- request.setAttribute(QNetworkRequest::FollowRedirectsAttribute, true);
+ request.setAttribute(QNetworkRequest::RedirectPolicyAttribute, QNetworkRequest::NoLessSafeRedirectPolicy);
// Set Max redirects to 1. This will cause TooManyRedirectsError
request.setMaximumRedirectsAllowed(1);
@@ -8285,7 +8285,7 @@ void tst_QNetworkReply::ioHttpRedirectErrors()
server.setDataToTransmit(d2s);
QNetworkRequest request(localhost);
- request.setAttribute(QNetworkRequest::FollowRedirectsAttribute, true);
+ request.setAttribute(QNetworkRequest::RedirectPolicyAttribute, QNetworkRequest::NoLessSafeRedirectPolicy);
QNetworkReplyPtr reply(manager.get(request));
if (localhost.scheme() == "https")
reply.data()->ignoreSslErrors();
@@ -8366,7 +8366,7 @@ void tst_QNetworkReply::ioHttpRedirectPolicy()
redirectServer.responses.push_back(tempRedirectReplyStr().arg(QString(url.toEncoded())).toLatin1());
// This is the default one we preserve between tests.
- QCOMPARE(manager.redirectPolicy(), QNetworkRequest::ManualRedirectPolicy);
+ QCOMPARE(manager.redirectPolicy(), QNetworkRequest::NoLessSafeRedirectPolicy);
manager.setRedirectPolicy(policy);
QCOMPARE(manager.redirectPolicy(), policy);
@@ -8375,7 +8375,7 @@ void tst_QNetworkReply::ioHttpRedirectPolicy()
reply->ignoreSslErrors();
// Restore default:
- manager.setRedirectPolicy(QNetworkRequest::ManualRedirectPolicy);
+ manager.setRedirectPolicy(QNetworkRequest::NoLessSafeRedirectPolicy);
QSignalSpy redirectSpy(reply.data(), SIGNAL(redirected(QUrl)));
QSignalSpy finishedSpy(reply.data(), SIGNAL(finished()));
QVERIFY2(waitForFinish(reply) == Success, msgWaitForFinished(reply));
@@ -8447,15 +8447,15 @@ void tst_QNetworkReply::ioHttpRedirectPolicyErrors()
QNetworkRequest request(url);
request.setMaximumRedirectsAllowed(maxRedirects);
- // We always reset the policy to the default one ('Manual') after any related
+ // We always reset the policy to the default one ('NoLessSafe') after any related
// test is finished:
- QCOMPARE(manager.redirectPolicy(), QNetworkRequest::ManualRedirectPolicy);
+ QCOMPARE(manager.redirectPolicy(), QNetworkRequest::NoLessSafeRedirectPolicy);
manager.setRedirectPolicy(policy);
QCOMPARE(manager.redirectPolicy(), policy);
QNetworkReplyPtr reply(manager.get(request));
// Set it back to default:
- manager.setRedirectPolicy(QNetworkRequest::ManualRedirectPolicy);
+ manager.setRedirectPolicy(QNetworkRequest::NoLessSafeRedirectPolicy);
if (ssl)
reply->ignoreSslErrors();
@@ -8490,7 +8490,7 @@ void tst_QNetworkReply::ioHttpUserVerifiedRedirect()
redirectServer.setDataToTransmit(tempRedirectReplyStr().arg(QString(url.toEncoded())).toLatin1());
url.setPort(redirectServer.serverPort());
- QCOMPARE(manager.redirectPolicy(), QNetworkRequest::ManualRedirectPolicy);
+ QCOMPARE(manager.redirectPolicy(), QNetworkRequest::NoLessSafeRedirectPolicy);
manager.setRedirectPolicy(QNetworkRequest::UserVerifiedRedirectPolicy);
QCOMPARE(manager.redirectPolicy(), QNetworkRequest::UserVerifiedRedirectPolicy);
@@ -8508,8 +8508,8 @@ void tst_QNetworkReply::ioHttpUserVerifiedRedirect()
});
// Before any test failed, reset the policy to default:
- manager.setRedirectPolicy(QNetworkRequest::ManualRedirectPolicy);
- QCOMPARE(manager.redirectPolicy(), QNetworkRequest::ManualRedirectPolicy);
+ manager.setRedirectPolicy(QNetworkRequest::NoLessSafeRedirectPolicy);
+ QCOMPARE(manager.redirectPolicy(), QNetworkRequest::NoLessSafeRedirectPolicy);
QSignalSpy finishedSpy(reply.data(), SIGNAL(finished()));
waitForFinish(reply);