Legend:
Library
Module
Module type
Parameter
Class
Class type
Library
Module
Module type
Parameter
Class
Class type
Body of a response, either as a simple string, or a stream of bytes, or nothing (for server-sent events notably).
type t = private {
code : Response_code.t;
headers : Headers.t;
Headers of the reply. Some will be set by Tiny_httpd
automatically.
body : body;
Body of the response. Can be empty.
*)}
A response to send back to a client.
val set_code : Response_code.t -> t -> t
Set the response code.
val make_raw : ?headers:Headers.t -> code:Response_code.t -> string -> t
Make a response from its raw components, with a string body. Use ""
to not send a body at all.
val make_raw_stream :
?headers:Headers.t ->
code:Response_code.t ->
byte_stream ->
t
Same as make_raw
but with a stream body. The body will be sent with the chunked transfer-encoding.
val make : ?headers:Headers.t -> (body, Response_code.t * string) result -> t
make r
turns a result into a response.
make (Ok body)
replies with 200
and the body.make (Error (code,msg))
replies with the given error code and message as body.val make_string :
?headers:Headers.t ->
(string, Response_code.t * string) result ->
t
Same as make
but with a string body.
val make_stream :
?headers:Headers.t ->
(byte_stream, Response_code.t * string) result ->
t
Same as make
but with a stream body.
Make the current request fail with the given code and message. Example: fail ~code:404 "oh noes, %s not found" "waldo"
.
val fail_raise : code:int -> ('a, unit, string, 'b) format4 -> 'a
Similar to fail
but raises an exception that exits the current handler. This should not be used outside of a (path) handler. Example: fail_raise ~code:404 "oh noes, %s not found" "waldo"; never_executed()
val pp : Format.formatter -> t -> unit
Pretty print the response. The exact format is not specified.