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 : Netcgi1_compat.Netcgi_env.cgi_config
method config_error_response : int -> string
method config_input_flow_control : bool
method config_limit_pipeline_length : int
method config_limit_pipeline_size : int
method config_log_error :
Unix.sockaddr option ->
Unix.sockaddr option ->
Nethttp.http_method option ->
Nethttp.http_header option -> 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_timeout : float
method config_timeout_next_request : float
end
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 : Netcgi1_compat.Netcgi_env.cgi_config
method cookies : (string * string) list
method input_ch : Netchannels.in_obj_channel
method input_ch_async : Uq_engines.async_in_channel
method input_content_length : int
method input_content_type : string * (string * Mimestring.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 input_state : Netcgi1_compat.Netcgi_env.input_state
method log_error : string -> unit
method multiple_input_header_field : string -> string list
method multiple_output_header_field : string -> string list
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 : Netcgi1_compat.Netcgi_env.output_state
method protocol : Netcgi1_compat.Netcgi_env.protocol
method remote_socket_addr : Unix.sockaddr
method send_file : Unix.file_descr -> int64 -> unit
method send_output_header : unit -> unit
method server_socket_addr : Unix.sockaddr
method set_input_state : Netcgi1_compat.Netcgi_env.input_state -> unit
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_output_state :
Netcgi1_compat.Netcgi_env.output_state -> unit
method set_status : Nethttp.http_status -> unit
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 :
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 :
#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
end