Module H2.Request

Request

A client-initiated HTTP message.

type t = {
meth : Method.t;
target : string;
scheme : string;
headers : Headers.t;
}
val create : ?⁠headers:Headers.t -> scheme:string -> Method.t -> string -> t

create ?headers ~scheme meth target creates an HTTP request with the given parameters. In HTTP/2, the :scheme pseudo-header field is required and includes the scheme portion of the target URI. The headers parameter is optional, however clients will want to include the :authority pseudo-header field in most cases. The :authority pseudo-header field includes the authority portion of the target URI, and should be used instead of the Host header field in HTTP/2.

See RFC7540§8.1.2.4 for more details.

val body_length : t -> [ `Error of [ `Bad_request ] | `Fixed of int64 | `Unknown ]

body_length t is the length of the message body accompanying t.

See RFC7230§3.3.3 for more details.

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