Module type Github_hooks.SERVER

include Cohttp_lwt.S.Server
module IO : Cohttp_lwt.S.IO
type conn = IO.conn * Cohttp.Connection.t
type response_action = [
| `Expert of Cohttp.Response.t * (IO.ic -> IO.oc -> unit Lwt.t)
| `Response of Cohttp.Response.t * Cohttp_lwt__.Body.t
]
type t
val make_response_action : ?⁠conn_closed:(conn -> unit) -> callback:(conn -> Cohttp.Request.t -> Cohttp_lwt__.Body.t -> response_action Lwt.t) -> unit -> t
val make_expert : ?⁠conn_closed:(conn -> unit) -> callback:(conn -> Cohttp.Request.t -> Cohttp_lwt__.Body.t -> (Cohttp.Response.t * (IO.ic -> IO.oc -> unit Lwt.t)) Lwt.t) -> unit -> 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
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
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 callback : t -> IO.conn -> IO.ic -> IO.oc -> unit Lwt.t
type tcp_config#row
and tcp_config = private [>
| `Port of int
]
type mode#row
and mode = private [>
| `TCP of tcp_config
| `TLS of server_tls_config
]
val create : mode -> t -> unit Lwt.t