Module Http.Response

type t = {
  1. headers : Header.t;
    (*

    response HTTP headers

    *)
  2. version : Version.t;
    (*

    (** HTTP version, usually 1.1 *)

    *)
  3. status : Status.t;
    (*

    HTTP status code of the response

    *)
}
val headers : t -> Header.t
val version : t -> Version.t
val status : t -> Status.t
val compare : t -> t -> int
val is_keep_alive : t -> bool

Return true whether the connection should be reused

val requires_content_length : ?request_meth:Method.t -> t -> bool

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

val make : ?version:Version.t -> ?status:Status.t -> ?headers:Header.t -> unit -> t

make () is a value of t. The default values for the request, if not specified, are: status is `Ok, version is `HTTP_1_1. The request encoding value is determined via the Header.get_transfer_encoding function.

val pp : Stdlib.Format.formatter -> t -> unit