Legend:
Library
Module
Module type
Parameter
Class
Class type
Library
Module
Module type
Parameter
Class
Class type
include Cohttp_lwt.S.Server
module IO : Cohttp_lwt.S.IO
include Cohttp.Generic.Server.S
with type body = Cohttp_lwt.Body.t
and module IO := IO
type body = Cohttp_lwt.Body.t
type conn = IO.conn * Cohttp.Connection.t
A request handler can respond in two ways:
`Response
, with a Response.t
and a body
.`Expert
, with a Response.t
and an IO function that is expected to write the response body. The IO function has access to the underlying IO.ic
and IO.oc
, which allows writing a response body more efficiently, stream a response or to switch protocols entirely (e.g. websockets). Processing of pipelined requests continue after the unitIO.t
is resolved. The connection can be closed by closing the IO.ic
.val respond :
?headers:Http.Header.t ->
?flush:bool ->
status:Http.Status.t ->
body:body ->
unit ->
(Http.Response.t * body) IO.t
respond ?headers ?flush ~status ~body
will respond to an HTTP request with the given status
code and response body
. If flush
is true, then every response chunk will be flushed to the network rather than being buffered. flush
is true by default. The transfer encoding will be detected from the body
value and set to chunked encoding if it cannot be determined immediately. You can override the encoding by supplying an appropriate Content-length
or Transfer-encoding
in the headers
parameter.
Resolve a URI and a docroot into a concrete local filename.
val respond_need_auth :
?headers:Http.Header.t ->
auth:Cohttp.Auth.challenge ->
unit ->
(Http.Response.t * body) IO.t
type tcp_config = Conduit_lwt_unix.tcp_config
type mode = Conduit_lwt_unix.server