Module Cohttp_lwt_unix.Request

include Cohttp.Request

This contains the metadata for a HTTP/1.1 request header, including the headers, version, meth and uri. The body is handled by the separate S module type, as it is dependent on the IO implementation.

include Cohttp.S.Request
type t = {
headers : Cohttp.Header.t;

HTTP request headers

meth : Cohttp.Code.meth;

HTTP request method

resource : string;

Request path and query

version : Cohttp.Code.version;

HTTP version, usually 1.1

encoding : Cohttp.Transfer.encoding;

transfer encoding of this HTTP request

}
val encoding : t -> Cohttp.Transfer.encoding
val version : t -> Cohttp.Code.version
val resource : t -> string
val meth : t -> Cohttp.Code.meth
val headers : t -> Cohttp.Header.t
module Fields : sig ... end
include Ppx_sexp_conv_lib.Sexpable.S with type t := t
val t_of_sexp : Sexplib0.Sexp.t -> t
val sexp_of_t : t -> Sexplib0.Sexp.t
val make : ?⁠meth:Cohttp.Code.meth -> ?⁠version:Cohttp.Code.version -> ?⁠encoding:Cohttp.Transfer.encoding -> ?⁠headers:Cohttp.Header.t -> Uri.t -> t

Return true whether the connection should be reused

val is_keep_alive : t -> bool

Return true whether the connection should be reused

val uri : t -> Uri.t
val make_for_client : ?⁠headers:Cohttp.Header.t -> ?⁠chunked:bool -> ?⁠body_length:int64 -> Cohttp.Code.meth -> Uri.t -> t
val pp_hum : Stdlib.Format.formatter -> t -> unit

Human-readable output, used by the toplevel printer

module Make : functor (IO : Cohttp.S.IO) -> Cohttp.S.Http_io with type t = t and module IO = IO

Functor to construct the IO-specific HTTP request handling functions

include sig ... end with type Request.t := t
type reader
type writer
module IO : sig ... end
val read : IO.ic -> [ `Eof | `Invalid of string | `Ok of t ] IO.t
val has_body : t -> [ `No | `Unknown | `Yes ]
val make_body_writer : ?⁠flush:bool -> t -> IO.oc -> writer
val make_body_reader : t -> IO.ic -> reader
val read_body_chunk : reader -> Cohttp.Transfer.chunk IO.t
val write_header : t -> IO.oc -> unit IO.t
val write_body : writer -> string -> unit IO.t
val write : ?⁠flush:bool -> (writer -> unit IO.t) -> t -> IO.oc -> unit IO.t