Plasma GitLab Archive
Projects Blog Knowledge

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
    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 * 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 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 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 ->
    'Nethttpd_types.http_service ->
    Nethttpd_engine.http_engine_processing_context
  module Debug : sig val enable : bool Pervasives.ref end
end
This web site is published by Informatikbüro Gerd Stolpmann
Powered by Caml