package h1

  1. Overview
  2. Docs

Request Descriptor

type t
val request : t -> Request.t
val request_body : t -> Body.Reader.t
val response : t -> Response.t option
val response_exn : t -> Response.t

Responding

The following functions will initiate a response for the corresponding request in t. Depending on the state of the current connection, and the header values of the response, this may cause the connection to close or to persist for reuse by the client.

See RFC7230§6.3 for more details.

val respond_with_string : t -> Response.t -> string -> unit
val respond_with_bigstring : t -> Response.t -> Bigstringaf.t -> unit
val respond_with_streaming : ?flush_headers_immediately:bool -> t -> Response.t -> Body.Writer.t
val respond_with_upgrade : ?reason:string -> t -> Headers.t -> unit

Initiate an HTTP upgrade. Server_connection.next_write_request and next_read_request will begin returning `Upgrade once the response headers have been written, which indicates that the runtime should take over direct control of the socket rather than shuttling bytes through httpaf.

The headers must indicate a valid upgrade message, e.g. must include "Connection: upgrade". See Request.is_upgrade.

Exception Handling

val report_exn : t -> exn -> unit
val try_with : t -> (unit -> unit) -> (unit, exn) result
OCaml

Innovation. Community. Security.