Module H2.Request

Request

A client-initiated HTTP message.

type t = {
  1. meth : Method.t;
  2. target : string;
  3. scheme : string;
  4. 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 : Format.formatter -> t -> unit