package http
Library
Module
Module type
Parameter
Class
Class type
type t = {
encoding : Transfer.encoding;
(**)headers : Header.t;
(*response HTTP headers
*)version : Version.t;
(*(** HTTP version, usually 1.1 *)
*)status : Status.t;
(*HTTP status code of the response
*)flush : bool;
(**)
}
val encoding : t -> Transfer.encoding
val flush : t -> bool
val is_keep_alive : t -> bool
Return true whether the connection should be reused
requires_content_length ~request_meth t
is true
if a combination of t
and request_meth
indicates that a response message must include "Content-Length" header. However, please note exceptions to this:
- Response with status code of
304
may or may not include the header. - Response to request with method
HEAD
may or may not include the header.
https://www.rfc-editor.org/rfc/rfc7230#section-3.3.2
val content_length : t -> int option
content_length t
is Some x
if the "Content-Length" header in t
exists and its value x
is a non negative integer, x>=0
It is None
if requires_content_length t = false
or the value encoded in "Content-Length" is not a valid integer value, i.e >= 0
.
See https://www.rfc-editor.org/rfc/rfc7230#section-3.3.2
make ()
is a value of t
. The default values for the request, if not specified, are: status
is `Ok
, version
is `HTTP_1_1
, flush
is false
and headers
is Header.empty
. The request encoding value is determined via the Header.get_transfer_encoding
function.
val pp : Format.formatter -> t -> unit