Client

org.http4s.client.Client
See theClient companion object
trait Client[F[_]]

A Client submits Requests to a server and processes the Response.

When a connection is "released" and the HTTP semantics of the request and response permit, the connection may be kept alive by the backend and used for a subsequent request. When HTTP semantics require it, or at the backend's discretion, a released connection may also be closed.

Attributes

Companion
object
Source
Client.scala
Graph
Supertypes
class Object
trait Matchable
class Any

Members list

Value members

Abstract methods

def expect[A](req: Request[F])(implicit d: EntityDecoder[F, A]): F[A]

Submits a request and decodes the response on success. On failure, the status code is returned. The underlying HTTP connection is released at the completion of the decoding.

Submits a request and decodes the response on success. On failure, the status code is returned. The underlying HTTP connection is released at the completion of the decoding.

Attributes

Source
Client.scala
def expect[A](uri: Uri)(implicit d: EntityDecoder[F, A]): F[A]

Submits a GET request to the specified URI and decodes the response on success. On failure, the status code is returned. The underlying HTTP connection is released at the completion of the decoding.

Submits a GET request to the specified URI and decodes the response on success. On failure, the status code is returned. The underlying HTTP connection is released at the completion of the decoding.

Attributes

Source
Client.scala
def expect[A](s: String)(implicit d: EntityDecoder[F, A]): F[A]

Submits a GET request to the URI specified by the String and decodes the response on success. On failure, the status code is returned. The underlying HTTP connection is released at the completion of the decoding.

Submits a GET request to the URI specified by the String and decodes the response on success. On failure, the status code is returned. The underlying HTTP connection is released at the completion of the decoding.

Attributes

Source
Client.scala
def expectOption[A](req: Request[F])(implicit d: EntityDecoder[F, A]): F[Option[A]]

Attributes

Source
Client.scala
def expectOptionOr[A](req: Request[F])(onError: Response[F] => F[Throwable])(implicit d: EntityDecoder[F, A]): F[Option[A]]

Attributes

Source
Client.scala
def expectOr[A](req: Request[F])(onError: Response[F] => F[Throwable])(implicit d: EntityDecoder[F, A]): F[A]

Attributes

Source
Client.scala
def expectOr[A](req: F[Request[F]])(onError: Response[F] => F[Throwable])(implicit d: EntityDecoder[F, A]): F[A]

Attributes

Source
Client.scala
def expectOr[A](uri: Uri)(onError: Response[F] => F[Throwable])(implicit d: EntityDecoder[F, A]): F[A]

Attributes

Source
Client.scala
def expectOr[A](s: String)(onError: Response[F] => F[Throwable])(implicit d: EntityDecoder[F, A]): F[A]

Attributes

Source
Client.scala
def fetchAs[A](req: Request[F])(implicit d: EntityDecoder[F, A]): F[A]

Submits a request and decodes the response, regardless of the status code. The underlying HTTP connection is released at the completion of the decoding.

Submits a request and decodes the response, regardless of the status code. The underlying HTTP connection is released at the completion of the decoding.

Attributes

Source
Client.scala
def get[A](uri: Uri)(f: Response[F] => F[A]): F[A]

Submits a GET request, and provides a callback to process the response.

Submits a GET request, and provides a callback to process the response.

Value parameters

f

A callback for the response to a GET on uri. The underlying HTTP connection is released when the returned task completes. Attempts to read the response body afterward will result in an error.

uri

The URI to GET

Attributes

Returns

The result of applying f to the response to req

Source
Client.scala
def get[A](s: String)(f: Response[F] => F[A]): F[A]

Submits a request and decodes the response on success. On failure, the status code is returned. The underlying HTTP connection is released at the completion of the decoding.

Submits a request and decodes the response on success. On failure, the status code is returned. The underlying HTTP connection is released at the completion of the decoding.

Attributes

Source
Client.scala
def run(req: Request[F]): Resource[F, Response[F]]

Attributes

Source
Client.scala
def status(req: Request[F]): F[Status]

Submits a request and returns the response status

Submits a request and returns the response status

Attributes

Source
Client.scala

Submits a GET request to the URI and returns the response status

Submits a GET request to the URI and returns the response status

Attributes

Source
Client.scala
def statusFromUri(uri: Uri): F[Status]

Submits a GET request to the URI and returns the response status

Submits a GET request to the URI and returns the response status

Attributes

Source
Client.scala
def stream(req: Request[F]): Stream[F, Response[F]]

Run the request as a stream. The response lifecycle is equivalent to the returned Stream's.

Run the request as a stream. The response lifecycle is equivalent to the returned Stream's.

Attributes

Source
Client.scala
def successful(req: Request[F]): F[Boolean]

Submits a request and returns true if and only if the response status is successful

Submits a request and returns true if and only if the response status is successful

Attributes

Source
Client.scala
def toHttpApp: HttpApp[F]

Returns this client as an HttpApp. It is the responsibility of callers of this service to run the response body to release the underlying HTTP connection.

Returns this client as an HttpApp. It is the responsibility of callers of this service to run the response body to release the underlying HTTP connection.

This is intended for use in proxy servers. run, [[fetchAsA*]], toKleisli, and stream are safer alternatives, as their signatures guarantee release of the HTTP connection.

Attributes

Source
Client.scala
def toKleisli[A](f: Response[F] => F[A]): Kleisli[F, Request[F], A]

Returns this client as a cats.data.Kleisli. All connections created by this service are released on completion of callback task f.

Returns this client as a cats.data.Kleisli. All connections created by this service are released on completion of callback task f.

This method effectively reverses the arguments to run followed by use, and is preferred when an HTTP client is composed into a larger Kleisli function, or when a common response callback is used by many call sites.

Attributes

Source
Client.scala

Concrete methods

final def expectOptionOrT[A](req: Request[F])(onError: Response[F] => F[Throwable])(implicit d: EntityDecoder[F, A]): OptionT[F, A]

As expectOptionOr, but defined in terms of cats.data.OptionT.

As expectOptionOr, but defined in terms of cats.data.OptionT.

Attributes

Source
Client.scala
final def expectOptionT[A](req: Request[F])(implicit d: EntityDecoder[F, A]): OptionT[F, A]

As expectOption, but defined in terms of cats.data.OptionT.

As expectOption, but defined in terms of cats.data.OptionT.

Attributes

Source
Client.scala
def translate[G[_]](fk: FunctionK[F, G])(gK: FunctionK[G, F])(implicit F: MonadCancelThrow[F]): Client[G]

Translates the effect type of this client from F to G

Translates the effect type of this client from F to G

Attributes

Source
Client.scala

Deprecated methods

def expect[A](req: F[Request[F]])(implicit d: EntityDecoder[F, A]): F[A]

Attributes

Deprecated
true
Source
Client.scala
def fetch[A](req: Request[F])(f: Response[F] => F[A]): F[A]

Submits a request, and provides a callback to process the response.

Submits a request, and provides a callback to process the response.

Value parameters

f

A callback for the response to req. The underlying HTTP connection is released when the returned task completes. Attempts to read the response body afterward will result in an error.

req

The request to submit

Attributes

Returns

The result of applying f to the response to req

Deprecated
true
Source
Client.scala
def fetch[A](req: F[Request[F]])(f: Response[F] => F[A]): F[A]

Submits a request, and provides a callback to process the response.

Submits a request, and provides a callback to process the response.

Value parameters

f

A callback for the response to req. The underlying HTTP connection is released when the returned task completes. Attempts to read the response body afterward will result in an error.

req

An effect of the request to submit

Attributes

Returns

The result of applying f to the response to req

Deprecated
true
Source
Client.scala
def fetchAs[A](req: F[Request[F]])(implicit d: EntityDecoder[F, A]): F[A]

Submits a request and decodes the response, regardless of the status code. The underlying HTTP connection is released at the completion of the decoding.

Submits a request and decodes the response, regardless of the status code. The underlying HTTP connection is released at the completion of the decoding.

Attributes

Deprecated
true
Source
Client.scala
def status(req: F[Request[F]]): F[Status]

Submits a request and returns the response status

Submits a request and returns the response status

Attributes

Deprecated
true
Source
Client.scala
def successful(req: F[Request[F]]): F[Boolean]

Submits a request and returns true if and only if the response status is successful

Submits a request and returns true if and only if the response status is successful

Attributes

Deprecated
true
Source
Client.scala