Page
Library
Module
Module type
Parameter
Class
Class type
Source
Cohttp_eio.Client
SourceClient
is a HTTP/1.1 client.
Represents a server host - as ip address or domain name, e.g. www.example.org:8080, www.reddit.com
Represents a tcp/ip port value
Represents HTTP request resource path, e.g. "/shop/purchase", "/shop/items", "/shop/categories/" etc.
type ('a, 'b) body_disallowed_call =
?pipeline_requests:bool ->
?version:Http.Version.t ->
?headers:Http.Header.t ->
?conn:Eio.Flow.two_way as 'a ->
?port:port ->
'b env ->
host:host ->
resource_path ->
response
body_disallowed_call
denotes HTTP client calls where a request is not allowed to have a request body.
type ('a, 'b) body_allowed_call =
?pipeline_requests:bool ->
?version:Http.Version.t ->
?headers:Http.Header.t ->
?body:Body.t ->
?conn:Eio.Flow.two_way as 'a ->
?port:port ->
'b env ->
host:host ->
resource_path ->
response
body_allowed_call
denotes HTTP client calls where a request can optionally have a request body.
val call :
?pipeline_requests:bool ->
?meth:Http.Method.t ->
?version:Http.Version.t ->
?headers:Http.Header.t ->
?body:Body.t ->
?conn:Eio.Flow.two_way ->
?port:port ->
'a env ->
host:host ->
resource_path ->
response
read_fixed (response,reader)
is body_content
, where body_content
is of length n
if "Content-Length" header exists and is a valid integer value n
in response
. Otherwise body_content
holds all bytes until eof.
read_chunked response chunk_handler
is Some updated_headers
if "Transfer-Encoding" header value is "chunked" in response
and all chunks in reader
are read successfully. updated_headers
is the updated headers as specified by the chunked encoding algorithm in https: //datatracker.ietf.org/doc/html/rfc7230#section-4.1.3.
reader
is updated to reflect the number of bytes read.
Returns None
if Transfer-Encoding
header in headers
is not specified as "chunked"