FollowRedirect

org.http4s.client.middleware.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://datatracker.ietf.org/doc/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.

Attributes

Source
FollowRedirect.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Members list

Value members

Concrete methods

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

Attributes

Source
FollowRedirect.scala
def getRedirectUris[F[_]](response: Response[F]): List[Uri]

Get the redirection URIs for a response.

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

Attributes

Source
FollowRedirect.scala