Module Tiny_httpd.Response
type body=[|`String of string|`Stream of byte_stream]Body of a response, either as a simple string, or a stream of bytes.
type t={code : Response_code.t;HTTP response code. See
Response_code.headers : Headers.t;Headers of the reply. Some will be set by
Tiny_httpdautomatically.body : body;Body of the response. Can be empty.
}A response to send back to a client.
val make_raw : ?headers:Headers.t -> code:Response_code.t -> string -> tMake 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 -> tSame as
make_rawbut with a stream body. The body will be sent with the chunked transfer-encoding.
val make : ?headers:Headers.t -> (body, Response_code.t * string) Pervasives.result -> tmake rturns a result into a response.make (Ok body)replies with200and 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) Pervasives.result -> tSame as
makebut with a string body.
val make_stream : ?headers:Headers.t -> (byte_stream, Response_code.t * string) Pervasives.result -> tSame as
makebut with a stream body.
val fail : ?headers:Headers.t -> code:int -> ('a, unit, string, t) Pervasives.format4 -> 'aMake 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) Pervasives.format4 -> 'aSimilar to
failbut 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 -> unitPretty print the response.