RedirectHandler
public protocol RedirectHandler : Sendable
A type that handles how an HTTP redirect response from a remote server should be redirected to the new request.
-
Determines how the HTTP redirect response should be redirected to the new request.
The
completionclosure should be passed one of three possible options:- The new request specified by the redirect (this is the most common use case).
- A modified version of the new request (you may want to route it somewhere else).
- A
nilvalue to deny the redirect request and return the body of the redirect response.
Declaration
Swift
func task(_ task: URLSessionTask, willBeRedirectedTo request: URLRequest, for response: HTTPURLResponse, completion: @escaping (URLRequest?) -> Void)Parameters
taskThe
URLSessionTaskwhose request resulted in a redirect.requestThe
URLRequestto the new location specified by the redirect response.responseThe
HTTPURLResponsecontaining the server’s response to the original request.completionThe closure to execute containing the new
URLRequest, a modifiedURLRequest, ornil.
-
followExtension methodProvides a
Redirectorwhich follows redirects. Equivalent toRedirector.follow.Declaration
Swift
public static var follow: Redirector { get } -
doNotFollowExtension methodProvides a
Redirectorwhich does not follow redirects. Equivalent toRedirector.doNotFollow.Declaration
Swift
public static var doNotFollow: Redirector { get } -
modify(using:Extension method) Creates a
Redirectorwhich modifies the redirectedURLRequestusing the provided closure.Declaration
Swift
public static func modify(using closure: @escaping @Sendable (URLSessionTask, URLRequest, HTTPURLResponse) -> URLRequest?) -> RedirectorParameters
closureClosure used to modify the redirect.
Return Value
The
Redirector.
View on GitHub
Install in Dash