1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677(*{{{ Copyright (c) 2012 Anil Madhavapeddy <anil@recoil.org>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
}}}*)moduleRequest=structincludeCohttp.Requestinclude(Private.Make(Io):moduletypeofPrivate.Make(Io)withtypet:=t)endmoduleResponse=structincludeCohttp.Responseinclude(Private.Make(Io):moduletypeofPrivate.Make(Io)withtypet:=t)endmoduleConnection=Cohttp_lwt.Connection.Make(Net)moduleConnection_cache=Cohttp_lwt.Connection_cache.Make(Connection)(struct(* : Mirage_time.S *)letsleep_nsns=Lwt_unix.sleep(Int64.to_floatns/.1_000_000_000.)end)moduleConnection_proxy=Cohttp_lwt.Connection_cache.Make_proxy(Connection)(struct(* : Mirage_time.S *)letsleep_nsns=Lwt_unix.sleep(Int64.to_floatns/.1_000_000_000.)end)moduleClient:sig(** The [Client] module implements the full UNIX HTTP client interface,
including the UNIX-specific functions defined in {!C}. *)includeCohttp_lwt.S.Clientwithtypectx=Net.ctxvalcustom_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). *)end=structincludeCohttp_lwt.Client.Make(Connection)letcustom_ctx=Net.initendmoduleServer=ServermoduleDebug=DebugmoduleNet=NetmoduleIO=Io[@@deprecated"This module is not for public consumption"]modulePrivate=structmoduleInput_channel=Input_channelmoduleIO=Ioend