Warning: Reason support is experimental. We are looking for beta-tester and contributors.

Module Response

module Response : sig..end

type t
module Body : sig..end
val make : 
  ?body:Body.t ->
  ?cookies:Ocsigen_cookie_map.t -> Cohttp.Response.t -> t

Make a response from a Cohttp.Response.t. Note that the transfer-encoding header is not taken into account if it is set to chunked, use Response.add_header. This is because Cohttp.Response.make sets this header by default, which interferes with the transfer-encoding carried by the body.

val respond : 
  ?headers:Cohttp.Header.t ->
  status:Http.Status.t -> ?body:Body.t -> unit -> t

Like make but with an interface similar to Cohttp_lwt_unix.Server.respond.

val respond_string : 
  ?headers:Cohttp.Header.t ->
  status:Http.Status.t -> body:string -> unit -> t

Like respond but with a fixed string body.

val respond_error : 
  ?headers:Cohttp.Header.t ->
  ?status:Http.Status.t -> body:string -> unit -> t

DeprecatedUse respond_string with a ~status argument instead. Like respond_string with "Error: " appended to the body. The default status is `Internal_server_error.

val respond_file : 
  ?headers:Cohttp.Header.t ->
  ?status:Http.Status.t -> string -> t Lwt.t

Respond with the content of a file. The content type is guessed using Magic_mime.

val update : 
  ?response:Cohttp.Response.t ->
  ?body:Body.t ->
  ?cookies:Ocsigen_cookie_map.t -> t -> t
val of_cohttp : 
  ?cookies:Ocsigen_cookie_map.t ->
  Cohttp.Response.t * Cohttp_lwt.Body.t -> t
val to_response_expert : 
  t ->
  Cohttp.Response.t * ('ic -> Lwt_io.output_channel -> unit Lwt.t)

Response for Cohttp_lwt_unix.Server.make_expert. Set cookie headers.

val response : t -> Cohttp.Response.t

Raw response without cookie headers set.

val body : t -> Body.t
val status : t -> Cohttp.Code.status
val set_status : t -> Cohttp.Code.status -> t
val cookies : t -> Ocsigen_cookie_map.t
val add_cookies : t -> Ocsigen_cookie_map.t -> t
val header : t -> Ocsigen_http.Header.Name.t -> string option
val header_multi : t -> Ocsigen_http.Header.Name.t -> string list
val add_header : t -> Ocsigen_http.Header.Name.t -> string -> t
val add_header_multi : t -> Ocsigen_http.Header.Name.t -> string list -> t
val replace_header : t -> Ocsigen_http.Header.Name.t -> string -> t
val replace_headers : t -> (Ocsigen_http.Header.Name.t * string) list -> t
val remove_header : t -> Ocsigen_http.Header.Name.t -> t