`sig
type request_handler = {
req_activate : Netcgi_types.cgi_activation -> unit;
req_processing :
string -> Netmime.mime_header -> Netcgi.argument_processing;
req_operating_type : Netcgi.operating_type;
}
type server_type =
[ `Forking of int * (string * Netcgi_jserv_app.request_handler) list
| `Process_pool of int * (string * Netcgi_jserv_app.request_handler) list
| `Sequential of (string * Netcgi_jserv_app.request_handler) list ]
type protocol_type = [ `Ajp_1_2 ]
type jserv_config = {
js_backlog : int;
js_reuseaddr : bool;
js_cgiconfig : Netcgi_env.cgi_config;
js_init_process : unit -> unit;
js_fini_process : unit -> unit;
js_idle_worker : unit -> unit;
js_idle_master : unit -> unit;
}
val std_config : Netcgi_jserv_app.jserv_config
val logger : (string -> string -> unit) Pervasives.ref
val run :
?config:Netcgi_jserv_app.jserv_config ->
Netcgi_jserv_app.server_type ->
Netcgi_jserv_app.protocol_type ->
(string * string) list ->
Netcgi_jserv.auth option -> Unix.inet_addr -> int -> unit
end`