Legend:
Library
Module
Module type
Parameter
Class
Class type
Library
Module
Module type
Parameter
Class
Class type
The Server
module implements the full UNIX HTTP server interface, including the UNIX-specific functions defined in S
.
include Cohttp_lwt.S.Server with module IO = Cohttp_lwt_unix_io
module IO = Cohttp_lwt_unix_io
type conn = IO.conn * Cohttp.Connection.t
val make :
?conn_closed:(conn -> unit) ->
callback:
(conn ->
Cohttp.Request.t ->
Cohttp_lwt_body.t ->
(Cohttp.Response.t * Cohttp_lwt_body.t) Lwt.t) ->
unit ->
t
val resolve_local_file : docroot:string -> uri:Uri.t -> string
Resolve a URI and a docroot into a concrete local filename.
val respond :
?headers:Cohttp.Header.t ->
?flush:bool ->
status:Cohttp.Code.status_code ->
body:Cohttp_lwt_body.t ->
unit ->
(Cohttp.Response.t * Cohttp_lwt_body.t) Lwt.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.
val respond_string :
?flush:bool ->
?headers:Cohttp.Header.t ->
status:Cohttp.Code.status_code ->
body:string ->
unit ->
(Cohttp.Response.t * Cohttp_lwt_body.t) Lwt.t
val respond_error :
?headers:Cohttp.Header.t ->
?status:Cohttp.Code.status_code ->
body:string ->
unit ->
(Cohttp.Response.t * Cohttp_lwt_body.t) Lwt.t
val respond_redirect :
?headers:Cohttp.Header.t ->
uri:Uri.t ->
unit ->
(Cohttp.Response.t * Cohttp_lwt_body.t) Lwt.t
val respond_need_auth :
?headers:Cohttp.Header.t ->
auth:Cohttp.Auth.challenge ->
unit ->
(Cohttp.Response.t * Cohttp_lwt_body.t) Lwt.t
val respond_not_found :
?uri:Uri.t ->
unit ->
(Cohttp.Response.t * Cohttp_lwt_body.t) Lwt.t
val resolve_file : docroot:string -> uri:Uri.t -> string
val respond_file :
?headers:Cohttp.Header.t ->
fname:string ->
unit ->
(Cohttp.Response.t * Cohttp_lwt.Body.t) Lwt.t
val create :
?timeout:int ->
?stop:unit Lwt.t ->
?on_exn:(exn -> unit) ->
?ctx:Cohttp_lwt_unix_net.ctx ->
?mode:Conduit_lwt_unix.server ->
t ->
unit Lwt.t