package client

Provides extension methods for using the a http4s org.http4s.client.Client

import scalaz.concurrent.Task
import org.http4s._
import org.http4s.client._
import org.http4s.Http4s._
import org.http4s.Status._
import org.http4s.Method._
import org.http4s.EntityDecoder

def client: Client = ???

val r: Task[String] = client(GET(uri(""))).as[String]
val r2: DecodeResult[String] = client(GET(uri(""))).attemptAs[String] // implicitly resolve the decoder
val req1 =
val req2 = // Each invocation fetches a new Result based on the behavior of the Client
Linear Supertypes
  1. Alphabetic
  2. By Inheritance
  1. client
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
  1. Public
  2. All

Type Members

  1. final case class Client(open: Service[Request, DisposableResponse], shutdown: Task[Unit]) extends Product with Serializable

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

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


    a service to asynchronously return a DisposableResponse from a Request. This is a low-level operation intended for client implementations and middleware.


    a Task to shut down this Shutdown this client, closing any open connections and freeing resources

  2. trait Connection extends AnyRef
  3. type ConnectionBuilder[A <: Connection] = (RequestKey) ⇒ Task[A]
  4. trait ConnectionManager[A <: Connection] extends AnyRef

    Type that is responsible for the client lifecycle

    Type that is responsible for the client lifecycle

    The ConnectionManager is a general wrapper around a ConnectionBuilder that can pool resources in order to conserve resources such as socket connections, CPU time, SSL handshakes, etc. Because it can contain significant resources it must have a mechanism to free resources associated with it.

  5. final case class DisposableResponse(response: Response, dispose: Task[Unit]) extends Product with Serializable

    Contains a Response that needs to be disposed of to free the underlying HTTP connection.

  6. type Middleware = (Client) ⇒ Client
  7. implicit final class NoBodySyntax extends AnyVal with EmptyRequestGenerator
  8. final case class RequestKey(scheme: Scheme, authority: Authority) extends Product with Serializable

    Represents a key for requests that can conceivably share a Connection.

  9. final case class UnexpectedStatus(status: Status) extends RuntimeException with NoStackTrace with Product with Serializable
  10. implicit final class WithBodySyntax extends AnyVal with EntityRequestGenerator

    Syntax classes to generate a request directly from a Method

Value Members

  1. implicit def wHeadersDec[T](implicit decoder: EntityDecoder[T]): EntityDecoder[(Headers, T)]
  2. object Client extends Serializable
  3. object ConnectionManager
  4. object RequestKey extends Serializable

Inherited from AnyRef

Inherited from Any