FollowRedirect

Client middleware to follow redirect responses.

A 301 or 302 response is followed by:

  • a GET if the request was GET or POST
  • a HEAD if the request was a HEAD
  • the original request method and body if the body had no effects
  • the redirect is not followed otherwise

A 303 response is followed by:

  • a HEAD if the request was a HEAD
  • a GET for all other methods

A 307 or 308 response is followed by:

  • the original request method and body, if the body had no effects
  • the redirect is not followed otherwise

Whenever we follow with a GET or HEAD, an empty body is sent, and all payload headers defined in https://tools.ietf.org/html/rfc7231#section-3.3 are stripped.

If the response does not contain a valid Location header, the redirect is not followed.

Headers whose names match sensitiveHeaderFilter are not exposed when redirecting to a different authority.

class Object
trait Matchable
class Any

Value members

Concrete methods

def apply[F[_]](maxRedirects: Int, sensitiveHeaderFilter: CIString => Boolean)(client: Client[F])(implicit F: Concurrent[F]): Client[F]
def getRedirectUris[F[_]](response: Response[F]): List[Uri]

Get the redirection URIs for a response. Excludes the initial request URI

Get the redirection URIs for a response. Excludes the initial request URI