package cohttp-lwt-unix

  1. Overview
  2. Docs

The Client module implements the full UNIX HTTP client interface, including the UNIX-specific functions defined in C.

include Cohttp_lwt.S.Client with type ctx = Net.ctx
type ctx = Net.ctx
val set_cache : Cohttp_lwt.S.call -> unit

Provide a function used to process requests. Please see call. The provided function is only used when no ctx argument is passed to the convenience functions below.

val call : ?ctx:ctx -> ?headers:Http.Header.t -> ?body:Cohttp_lwt.Body.t -> ?chunked:bool -> Http.Method.t -> Uri.t -> (Http.Response.t * Cohttp_lwt.Body.t) Lwt.t

call ?ctx ?headers ?body ?chunked meth uri

  • returns

    (response, response_body) Consume response_body in a timely fashion. Please see call about how and why.

  • parameter chunked

    use chunked encoding if true. The default is false for compatibility reasons.

  • parameter ctx

    If provided, no connection cache is used, but Connection_cache.Make_no_cache.create is used to resolve uri and create a dedicated connection with ctx.

    In most cases you should use the more specific helper calls in the interface rather than invoke this function directly. See head, get and post for some examples.

val head : ?ctx:ctx -> ?headers:Http.Header.t -> Uri.t -> Http.Response.t Lwt.t
val get : ?ctx:ctx -> ?headers:Http.Header.t -> Uri.t -> (Http.Response.t * Cohttp_lwt.Body.t) Lwt.t
val delete : ?ctx:ctx -> ?body:Cohttp_lwt.Body.t -> ?chunked:bool -> ?headers:Http.Header.t -> Uri.t -> (Http.Response.t * Cohttp_lwt.Body.t) Lwt.t
val post : ?ctx:ctx -> ?body:Cohttp_lwt.Body.t -> ?chunked:bool -> ?headers:Http.Header.t -> Uri.t -> (Http.Response.t * Cohttp_lwt.Body.t) Lwt.t
val put : ?ctx:ctx -> ?body:Cohttp_lwt.Body.t -> ?chunked:bool -> ?headers:Http.Header.t -> Uri.t -> (Http.Response.t * Cohttp_lwt.Body.t) Lwt.t
val patch : ?ctx:ctx -> ?body:Cohttp_lwt.Body.t -> ?chunked:bool -> ?headers:Http.Header.t -> Uri.t -> (Http.Response.t * Cohttp_lwt.Body.t) Lwt.t
val post_form : ?ctx:ctx -> ?headers:Http.Header.t -> params:(string * string list) list -> Uri.t -> (Http.Response.t * Cohttp_lwt.Body.t) Lwt.t
  • deprecated

    use moduleCohttp_lwt.Connection instead.

val custom_ctx : ?ctx:Conduit_lwt_unix.ctx -> ?resolver:Resolver_lwt.t -> unit -> Net.ctx

custom_ctx ?ctx ?resolver () will return a context that is the same as the default_ctx, but with either the connection handling or resolution module overridden with ctx or resolver respectively. This is useful to supply a Conduit_lwt_unix.ctx with a custom source network interface, or a Resolver_lwt.t with a different name resolution strategy (for instance to override a hostname to point it to a Unix domain socket).