org.http4s.client.middleware

Type members

Classlikes

trait CookieJar[F[_]]

Algebra for Interfacing with the Cookie Jar. Allows manual intervention and eviction.

Algebra for Interfacing with the Cookie Jar. Allows manual intervention and eviction.

Companion:
object
Source:
CookieJar.scala
object CookieJar

Cookie Jar Companion Object Contains constructors for client middleware or raw jar creation, as well as the middleware

Cookie Jar Companion Object Contains constructors for client middleware or raw jar creation, as well as the middleware

Companion:
class
Source:
CookieJar.scala

Client middleware that sets the destination attribute of every request to the specified value.

Client middleware that sets the destination attribute of every request to the specified value.

Source:
DestinationAttribute.scala

Client middleware to follow redirect responses.

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.

Source:
FollowRedirect.scala
object GZip

Client middleware for enabling gzip.

Client middleware for enabling gzip.

Source:
GZip.scala
object Logger

Simple Middleware for Logging All Requests and Responses

Simple Middleware for Logging All Requests and Responses

Source:
Logger.scala
object Metrics

Client middleware to record metrics for the http4s client.

Client middleware to record metrics for the http4s client.

This middleware will record:

  • Number of active requests
  • Time duration to receive the response headers
  • Time duration to process the whole response body
  • Time duration of errors, timeouts and other abnormal terminations

This middleware can be extended to support any metrics ecosystem by implementing the org.http4s.metrics.MetricsOps type

Source:
Metrics.scala

Simple Middleware for Logging Requests As They Are Processed

Simple Middleware for Logging Requests As They Are Processed

Source:
RequestLogger.scala

Client middlewares that logs the HTTP responses it receives as soon as they are received locally.

Client middlewares that logs the HTTP responses it receives as soon as they are received locally.

The "logging" is represented as an effectful action String => F[Unit]

Source:
ResponseLogger.scala
object Retry
object UnixSocket

Middleware to direct all requests to the provided UnixSocketAddress

Middleware to direct all requests to the provided UnixSocketAddress

Source:
UnixSocket.scala

Types

A retry policy is a function of the request, the result (either a throwable or a response), and the number of unsuccessful attempts and returns either None (no retry) or Some duration, after which the request will be retried.

A retry policy is a function of the request, the result (either a throwable or a response), and the number of unsuccessful attempts and returns either None (no retry) or Some duration, after which the request will be retried.

Source:
package.scala