`sig
type engine_req_state =
[ `Finishing | `Received_header | `Received_request | `Receiving_body ]
class type http_engine_config =
object
method config_announce_server : Nethttpd_kernel.announcement
method config_cgi : Netcgi.config
method config_error_response :
Nethttpd_types.error_response_params -> string
method config_input_flow_control : bool
method config_limit_pipeline_length : int
method config_limit_pipeline_size : int
method config_log_access : Nethttpd_types.full_info -> unit
method config_log_error : Nethttpd_types.request_info -> string -> unit
method config_max_header_length : int
method config_max_reqline_length : int
method config_max_trailer_length : int
method config_output_flow_control : bool
method config_suppress_broken_pipe : bool
method config_timeout : float
method config_timeout_next_request : float
method config_tls : Netsys_crypto_types.tls_config option
method config_tls_cert_props : bool
method config_tls_remote_user : bool
end
val default_http_engine_config : Nethttpd_engine.http_engine_config
class modify_http_engine_config :
?modify_http_protocol_config:(Nethttpd_kernel.http_protocol_config ->
Nethttpd_kernel.http_protocol_config) ->
?modify_http_processor_config:(Nethttpd_reactor.http_processor_config ->
Nethttpd_reactor.http_processor_config) ->
?config_input_flow_control:bool ->
?config_output_flow_control:bool ->
Nethttpd_engine.http_engine_config -> http_engine_config
class type extended_async_environment =
object
method cgi_auth_type : string
method cgi_gateway_interface : string
method cgi_https : bool
method cgi_path_info : string
method cgi_path_translated : string
method cgi_properties : (string * string) list
method cgi_property : ?default:string -> string -> string
method cgi_query_string : string
method cgi_remote_addr : string
method cgi_remote_host : string
method cgi_remote_ident : string
method cgi_remote_user : string
method cgi_request_method : string
method cgi_request_uri : string
method cgi_script_name : string
method cgi_server_name : string
method cgi_server_port : int option
method cgi_server_protocol : string
method cgi_server_software : string
method config : Netcgi.config
method cookie : string -> Netcgi.Cookie.t
method cookies : Netcgi.Cookie.t list
method input_body_size : int64
method input_ch_async : Uq_engines.async_in_channel
method input_channel : Netchannels.in_obj_channel
method input_content_length : int
method input_content_type :
unit -> string * (string * Netmime_string.s_param) list
method input_content_type_string : string
method input_header : Netmime.mime_header
method input_header_field : ?default:string -> string -> string
method input_header_fields : (string * string) list
method log_error : string -> unit
method log_props : (string * string) list -> unit
method multiple_input_header_field : string -> string list
method multiple_output_header_field : string -> string list
method out_channel : Netchannels.out_obj_channel
method output_ch : Netchannels.out_obj_channel
method output_ch_async : Uq_engines.async_out_channel
method output_header : Netmime.mime_header
method output_header_field : ?default:string -> string -> string
method output_header_fields : (string * string) list
method output_state : Nethttpd_types.output_state ref
method protocol : Nethttp.protocol
method remote_socket_addr : Unix.sockaddr
method request_body_rejected : bool
method send_file : Unix.file_descr -> int64 -> unit
method send_output_header : unit -> unit
method server_socket_addr : Unix.sockaddr
method set_multiple_output_header_field : string -> string list -> unit
method set_output_header_field : string -> string -> unit
method set_output_header_fields : (string * string) list -> unit
method set_status : Nethttp.http_status -> unit
method tls_session_props : Nettls_support.tls_session_props option
method user_agent : string
end
class type http_request_header_notification =
object
method environment : Nethttpd_engine.extended_async_environment
method req_state : Nethttpd_engine.engine_req_state
method schedule_accept_body :
on_request:(Nethttpd_engine.http_request_notification -> unit) ->
?on_error:(unit -> unit) -> unit -> unit
method schedule_finish : unit -> unit
method schedule_reject_body :
on_request:(Nethttpd_engine.http_request_notification -> unit) ->
?on_error:(unit -> unit) -> unit -> unit
end
and http_request_notification =
object
method environment : Nethttpd_engine.extended_async_environment
method req_state : Nethttpd_engine.engine_req_state
method schedule_finish : unit -> unit
end
class http_engine :
?config_hooks:(Nethttpd_kernel.http_protocol_hooks -> unit) ->
on_request_header:(Nethttpd_engine.http_request_header_notification ->
unit) ->
unit ->
#Nethttpd_engine.http_engine_config ->
Unix.file_descr ->
Unixqueue.unix_event_system -> [unit] Uq_engines.engine
class type http_engine_processing_config =
object
method config_synch_input :
(Netchannels.in_obj_channel -> unit) ->
Uq_engines.async_in_channel -> unit
method config_synch_output :
(Netchannels.out_obj_channel -> unit) ->
Uq_engines.async_out_channel -> unit
end
class buffering_engine_processing_config : http_engine_processing_config
class type http_engine_processing_context =
object method engine : unit Uq_engines.engine end
val process_connection :
?config_hooks:(Nethttpd_kernel.http_protocol_hooks -> unit) ->
#Nethttpd_reactor.http_processor_config ->
#Nethttpd_engine.http_engine_processing_config ->
Unix.file_descr ->
Unixqueue.unix_event_system ->
'a Nethttpd_types.http_service ->
Nethttpd_engine.http_engine_processing_context
module Debug : sig val enable : bool Stdlib.ref end
end`