package cohttp-lwt-unix
include module type of struct include Cohttp.Response end
This contains the metadata for a HTTP/1.1 response header, including the encoding
, headers
, version
, status
code and whether to flush
the connection after every body chunk (useful for server-side events and other long-lived connection protocols). The body is handled by the separate S
module type, as it is dependent on the IO implementation.
The interface exposes a fieldslib
interface which provides individual accessor functions for each of the records below. It also provides sexp
serializers to convert to-and-from an Core.Std.Sexp.t
.
include Cohttp.S.Response
type t = Cohttp.Response.t = {
encoding : Cohttp.Transfer.encoding;
(*Transfer encoding of this HTTP response
*)headers : Cohttp.Header.t;
(*response HTTP headers
*)version : Cohttp.Code.version;
(*(** HTTP version, usually 1.1 *)
*)status : Cohttp.Code.status_code;
(*HTTP status code of the response
*)flush : bool;
}
include Sexplib0.Sexpable.S with type t := t
val t_of_sexp : Sexplib0.Sexp.t -> t
val sexp_of_t : t -> Sexplib0.Sexp.t
val encoding : t -> Cohttp.Transfer.encoding
val headers : t -> Cohttp.Header.t
val version : t -> Cohttp.Code.version
val status : t -> Cohttp.Code.status_code
val flush : t -> bool
val make :
?version:Cohttp.Code.version ->
?status:Cohttp.Code.status_code ->
?flush:bool ->
?encoding:Cohttp.Transfer.encoding ->
?headers:Cohttp.Header.t ->
unit ->
t
The response creates by make ~encoding ~headers ()
has an encoding value determined from the content of headers
or if no proper header is present, using the value of encoding
. Checked headers are "content-length", "content-range" and "transfer-encoding". The default value of encoding
is chunked.
val pp_hum : Format.formatter -> t -> unit
Human-readable output, used by the toplevel printer
module Make = Cohttp.Response.Make
Functor to construct the IO-specific response handling function
include sig ... end
module IO : sig ... end
val has_body : t -> [ `No | `Unknown | `Yes ]
val read_body_chunk : reader -> Cohttp.Transfer.chunk IO.t