Module Httpaf_backend.Conn

val method_std : Http_types.Method.t -> Httpaf.Method.standard
val create_bigstring_list_reader : request_method:Httpaf.Method.standard -> fill_bigstring:(Core.Bigstring.t -> unit) -> fill_bigstring_list:(Core.Bigstring.t list -> unit) -> Httpaf.Response.t -> Httpaf.Body.Reader.t -> unit

Creates Httpaf.Body.Reader.t for a response depending on known body length.

val create_bigstring_pipe_reader : to_body:(Core.Bigstring.t -> 'a) -> 'b Async.Pipe.Writer.t -> Httpaf.Body.Reader.t -> unit
val create_ignore_reader : (unit -> unit) -> Httpaf.Body.Reader.t -> unit
val create_response_handler : how:Http_types.Body.How.t -> request_method:Http_types.Method.t -> (Httpaf.Response.t * Http_types.Body.t, 'a) Core.Result.t Async.Ivar.t -> Httpaf.Response.t -> Httpaf.Body.Reader.t -> unit

Construct a response handler taking into consideration the user suggestion on how he wants to receive the response. Right now we handle cases for `Ignore, `List `Bigstring and `Pipe `Bigstring.

If the response is of `Fixed size type, the response body will be a single Bigstring.t. If the response is `Chunked, the body can be piped or returned as a list or concatenated into a single Bigstring.t.

val buffer_size : int
val reader_loop : read_complete:unit Async.Ivar.t -> Httpaf.Client_connection.t -> Async.Reader.t -> unit Async.Deferred.t
val writer_loop : write_complete:unit Async.Ivar.t -> Httpaf.Client_connection.t -> Async.Writer.t -> unit
val request : ?timeout:Async_kernel__.Import.Time_ns.Span.t -> ?body:string -> ?read:Http_types.Body.How.t -> Httpaf.Request.t -> Async.Reader.t -> Async.Writer.t -> (Http_types.Response.t, [> `Connection_failure | `Raised of Core__.Import.Exn.t | `Timeout ]) Core._result Async_kernel__Deferred.t
val convert_request : body_length:int option -> Http_types.Request.t -> Httpaf.Request.t
val call : ?timeout:Async_kernel__.Import.Time_ns.Span.t -> Async_uri.t -> Http_types.Request.t -> (Http_types.Response.t, Http_types.Error.t) Async.Deferred.Result.t