diff options
author | Florian Bruhin <me@the-compiler.org> | 2022-05-03 11:27:20 +0200 |
---|---|---|
committer | Florian Bruhin <me@the-compiler.org> | 2022-05-04 15:20:35 +0200 |
commit | fcc64a57cf6995046be83e93cb1c466b27f51917 (patch) | |
tree | b979a9bc1ef48c4930f2301e8b840b50f0bf66c2 /src/network | |
parent | 9bd4e0fe136847247407a64f3f73b66a77881181 (diff) | |
download | qtbase-fcc64a57cf6995046be83e93cb1c466b27f51917.tar.gz |
Fix documentation for QNetworkReply::redirected
In d12afeff4097dd78f1311511e0c8f74e1a810d47, the default redirect policy was
changed to NoLessSafeRedirectPolicy (from ManualRedirectPolicy), and this was
reworded from:
This signal is emitted if the QNetworkRequest::FollowRedirectsAttribute was
set in the request [...]
(i.e.: Qt handles redirect, no manual handling) to:
This signal is emitted if the QNetworkRequest::ManualRedirectPolicy was
set in the request [...]
(i.e.: User handles redirect, no handling by Qt), which is exactly the wrong way
around. Only if Qt handles the redirect, it's able to send a signal about it.
If the user handles redirects, they would get the RedirectionTargetAttribute in
response to the finished() signal.
Also see tst_QNetworkReply::ioHttpSingleRedirect(): It sets
NoLessSafeRedirectPolicy (default since Qt 6) and then ensures the "redirected"
signal has been emitted.
Pick-to: 6.3 6.2
Change-Id: I7e80ff69b94a4d94eb541b1021b05601d183c733
Reviewed-by: MÃ¥rten Nordheim <marten.nordheim@qt.io>
Diffstat (limited to 'src/network')
-rw-r--r-- | src/network/access/qnetworkreply.cpp | 2 | ||||
-rw-r--r-- | src/network/access/qnetworkrequest.cpp | 8 |
2 files changed, 5 insertions, 5 deletions
diff --git a/src/network/access/qnetworkreply.cpp b/src/network/access/qnetworkreply.cpp index 7e60374dd7..1956a9a7b3 100644 --- a/src/network/access/qnetworkreply.cpp +++ b/src/network/access/qnetworkreply.cpp @@ -300,7 +300,7 @@ QNetworkReplyPrivate::QNetworkReplyPrivate() \fn void QNetworkReply::redirected(const QUrl &url) \since 5.6 - This signal is emitted if the QNetworkRequest::ManualRedirectPolicy was + This signal is emitted if the QNetworkRequest::ManualRedirectPolicy was not set in the request and the server responded with a 3xx status (specifically 301, 302, 303, 305, 307 or 308 status code) with a valid url in the location header, indicating a HTTP redirect. The \a url parameter contains the new diff --git a/src/network/access/qnetworkrequest.cpp b/src/network/access/qnetworkrequest.cpp index 3d89453cdb..096f37c2a7 100644 --- a/src/network/access/qnetworkrequest.cpp +++ b/src/network/access/qnetworkrequest.cpp @@ -174,10 +174,10 @@ QT_IMPL_METATYPE_EXTERN_TAGGED(QNetworkRequest::RedirectPolicy, QNetworkRequest_ Replies only, type: QMetaType::QUrl (no default) If present, it indicates that the server is redirecting the request to a different URL. The Network Access API does follow - redirections by default, but if - QNetworkRequest::ManualRedirectPolicy is enabled and - the redirect was not handled in redirected() then this - attribute will be present. + redirections by default, unless + QNetworkRequest::ManualRedirectPolicy is used. Additionally, if + QNetworkRequest::UserVerifiedRedirectPolicy is used, then this + attribute will be set if the redirect was not followed. The returned URL might be relative. Use QUrl::resolved() to create an absolute URL out of it. |