Module Client.Make

Parameters

module _ : Mirage_clock.PCLOCK
module R : Resolver_mirage.S
module S : Conduit_mirage.S

Signature

include Cohttp_lwt.S.Client with type ctx = Connection.Net.ctx
  • 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.

include Cohttp.Generic.Client.S with type 'a io = 'a Lwt.t and type body = Cohttp_lwt.Body.t and type 'a with_context = ?ctx:ctx -> 'a
type 'a io = 'a Lwt.t
type 'a with_context = ?ctx:ctx -> 'a
type body = Cohttp_lwt.Body.t
val map_context : 'a with_context -> ('a -> 'b) -> 'b with_context
val call : (?headers:Http.Header.t -> ?body:body -> ?chunked:bool -> Http.Method.t -> Uri.t -> (Http.Response.t * body) io) with_context

call ?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.

val head : (?headers:Http.Header.t -> Uri.t -> Http.Response.t io) with_context
val get : (?headers:Http.Header.t -> Uri.t -> (Http.Response.t * body) io) with_context
val delete : (?body:body -> ?chunked:bool -> ?headers:Http.Header.t -> Uri.t -> (Http.Response.t * body) io) with_context
val post : (?body:body -> ?chunked:bool -> ?headers:Http.Header.t -> Uri.t -> (Http.Response.t * body) io) with_context
val put : (?body:body -> ?chunked:bool -> ?headers:Http.Header.t -> Uri.t -> (Http.Response.t * body) io) with_context
val patch : (?body:body -> ?chunked:bool -> ?headers:Http.Header.t -> Uri.t -> (Http.Response.t * body) io) with_context
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 post_form : ?ctx:ctx -> ?headers:Http.Header.t -> params:(string * string list) list -> Uri.t -> (Http.Response.t * Cohttp_lwt.Body.t) Lwt.t
val callv : ?ctx:ctx -> Uri.t -> (Http.Request.t * Cohttp_lwt.Body.t) Lwt_stream.t -> (Http.Response.t * Cohttp_lwt.Body.t) Lwt_stream.t Lwt.t
val ctx : ?authenticator:X509.Authenticator.t -> R.t -> S.t -> ctx
val with_authenticator : X509.Authenticator.t -> ctx -> ctx