Fix documentation for QNetworkReply::redirected

In d12afeff40, 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>
bb10
Florian Bruhin 2022-05-03 11:27:20 +02:00
parent 9bd4e0fe13
commit fcc64a57cf
2 changed files with 5 additions and 5 deletions

View File

@ -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

View File

@ -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.