public protocol RedirectHandler
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.
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).
nilvalue to deny the redirect request and return the body of the redirect response.
func task(_ task: URLSessionTask, willBeRedirectedTo request: URLRequest, for response: HTTPURLResponse, completion: @escaping (URLRequest?) -> Void)
URLSessionTaskwhose request resulted in a redirect.
URLRequestto the new location specified by the redirect response.
HTTPURLResponsecontaining the server’s response to the original request.
The closure to execute containing the new
URLRequest, a modified
Redirectorwhich modifies the redirected
URLRequestusing the provided closure.
public static func modify(using closure: @escaping (URLSessionTask, URLRequest, HTTPURLResponse) -> URLRequest?) -> Redirector
Closure used to modify the redirect.