docs/Protocols/RedirectHandler.html
public protocol RedirectHandler : Sendable
A type that handles how an HTTP redirect response from a remote server should be redirected to the new request.
`
task(_:willBeRedirectedTo:for:completion:)
`
Determines how the HTTP redirect response should be redirected to the new request.
The completion closure should be passed one of three possible options:
nil value to deny the redirect request and return the body of the redirect response.Swift
func task(_ task: URLSessionTask,
willBeRedirectedTo request: URLRequest,
for response: HTTPURLResponse,
completion: @escaping (URLRequest?) -> Void)
| task |
The URLSessionTask whose request resulted in a redirect.
|
| request |
The URLRequest to the new location specified by the redirect response.
|
| response |
The HTTPURLResponse containing the server’s response to the original request.
|
| completion |
The closure to execute containing the new URLRequest, a modified URLRequest, or nil.
|
Self == Redirector`
follow
` Extension method
Provides a Redirector which follows redirects. Equivalent to Redirector.follow.
Swift
public static var follow: Redirector { get }
`
doNotFollow
` Extension method
Provides a Redirector which does not follow redirects. Equivalent to Redirector.doNotFollow.
Swift
public static var doNotFollow: Redirector { get }
`
modify(using:)
` Extension method
Creates a Redirector which modifies the redirected URLRequest using the provided closure.
Swift
public static func modify(using closure: @escaping @Sendable (URLSessionTask, URLRequest, HTTPURLResponse) -> URLRequest?) -> Redirector
| closure |
Closure used to modify the redirect.
|
The Redirector.