diff options
author | Frederik Gladhorn <frederik.gladhorn@qt.io> | 2019-09-07 15:51:34 +0200 |
---|---|---|
committer | MÃ¥rten Nordheim <marten.nordheim@qt.io> | 2020-08-13 19:58:19 +0200 |
commit | d12afeff4097dd78f1311511e0c8f74e1a810d47 (patch) | |
tree | b41eaa0cc15ff19faf2a6a6e9e0f4e2b43c16abb /tests/auto/network | |
parent | 09e22c6c3280d4187b1ed2d979ceea478b7bed75 (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.cpp | 2 | ||||
-rw-r--r-- | tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp | 22 |
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); |