- (** daemon specification, describe the behaviour of an HTTP daemon
- * @param address adress on which daemon will be listening, can be both a
- * numeric address (e.g. "127.0.0.1") and an hostname (e.g. "localhost")
- * @param auth authentication requirements (currently only basic authentication
- * is supported). If set to None no authentication is
- * required. If set to Some ("realm", `Basic ("foo", "bar")), only clients
- * authenticated with baisc authentication, for realm "realm", providing
- * username "foo" and password "bar" are accepted; others are rejected with a
- * 401 response code
- * @param callback function which will be called each time a correct HTTP
- * request will be received. 1st callback argument is an Http_types.request
- * object corresponding to the request received; 2nd argument is an output
- * channel corresponding to the socket connected to the client
- * @param mode requests handling mode, it can have three different values:
- * `Single -> all requests will be handled by the same process,
- * `Fork -> each request will be handled by a child process,
- * `Thread -> each request will be handled by a (new) thread
- * @param port TCP port on which the daemon will be listening
- * @param root_dir directory to which ocaml http will chdir before starting
- * handling requests; if None, no chdir will be performed (i.e. stay in the
- * current working directory)
- * @param exn_handler what to do when executing callback raises an exception.
- * If None, the exception will be re-raised: in `Fork/`Thread mode the
- * current process/thread will be terminated. in `Single mode the exception
- * is ignored and the client socket closed. If Some callback, the callback
- * will be executed before acting as per None; the callback is meant to
- * perform some clean up actions, like releasing global mutexes in `Thread
- * mode
- * @param timeout timeout in seconds after which an incoming HTTP request will
- * be terminated closing the corresponding TCP connection; None disable the
- * timeout