Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Cohttp_async.ServerSourceval sexp_of_t :
('address -> Sexplib0.Sexp.t) ->
('listening_on -> Sexplib0.Sexp.t) ->
('address, 'listening_on) t ->
Sexplib0.Sexp.ttype 'r respond_t =
?headers:Http.Header.t ->
?body:Body.t ->
Http.Status.t ->
'r Async_kernel.Deferred.ttype response_action = [ | `Expert of
Http.Response.t
* (Async_unix.Reader.t ->
Async_unix.Writer.t ->
unit Async_kernel.Deferred.t)| `Response of response ]A request handler can respond in two ways:
`Response, with a Http.Response.t and a Body.t.`Expert, with a Http.Response.t and an IO function that is expected to write the response body. The IO function has access to the underlying Async_unix.Reader.t and Async_unix.Writer.t, 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 unit Async_kernel.Deferred.t is resolved. The connection can be closed by closing the Async_unix.Reader.t.Resolve a URI and a docroot into a concrete local filename.
val respond_with_pipe :
?headers:Http.Header.t ->
?code:Http.Status.t ->
string Async_kernel.Pipe.Reader.t ->
response Async_kernel.Deferred.tRespond with a string Pipe that provides the response string Pipe.Reader.t.
val respond_string :
?headers:Http.Header.t ->
?status:Http.Status.t ->
string ->
response Async_kernel.Deferred.tval respond_with_redirect :
?headers:Http.Header.t ->
Uri.t ->
response Async_kernel.Deferred.tRespond with a redirect to an absolute uri
val respond_with_file :
?headers:Http.Header.t ->
?error_body:string ->
string ->
response Async_kernel.Deferred.tRespond with file contents, and error_string Pipe.Async_unix.Reader.t if the file isn't found
val create_expert :
?max_connections:int ->
?backlog:int ->
?buffer_age_limit:Async_unix.Writer.buffer_age_limit ->
?mode:mode ->
on_handler_error:[ `Call of 'address -> exn -> unit | `Ignore | `Raise ] ->
('address, 'listening_on) Async.Tcp.Where_to_listen.t ->
(body:Body.t ->
'address ->
Http.Request.t ->
response_action Async_kernel.Deferred.t) ->
('address, 'listening_on) t Async_kernel.Deferred.tBuild a HTTP server and expose the IO.ic and IO.ocs, based on the Tcp.Server interface.
val create :
?max_connections:int ->
?backlog:int ->
?buffer_age_limit:Async_unix.Writer.buffer_age_limit ->
?mode:Conduit_async.server ->
on_handler_error:[ `Call of 'address -> exn -> unit | `Ignore | `Raise ] ->
('address, 'listening_on) Async.Tcp.Where_to_listen.t ->
(body:Body.t ->
'address ->
Http.Request.t ->
response Async_kernel.Deferred.t) ->
('address, 'listening_on) t Async_kernel.Deferred.tBuild a HTTP server, based on the Tcp.Server interface