`sig
exception Not_implemented of string
module Netcgi_env :
sig
type input_mode = [ `Standard ]
type input_state =
[ `Received_body
| `Received_header
| `Receiving_body
| `Receiving_header
| `Start ]
type output_mode = [ `Standard ]
type output_state =
[ `End
| `Sending_body
| `Sending_header
| `Sending_part_body
| `Sending_part_header
| `Sent_body
| `Sent_header
| `Sent_part_body
| `Sent_part_header
| `Start ]
type protocol_version = Nethttp.protocol_version
type protocol_attribute = Nethttp.protocol_attribute
type protocol = Nethttp.protocol
type workaround =
[ `Work_around_MSIE_Content_type_bug | `Work_around_backslash_bug ]
type cgi_config = {
tmp_directory : string;
tmp_prefix : string;
permitted_http_methods : string list;
permitted_input_content_types : string list;
input_content_length_limit : int;
workarounds : Netcgi1_compat.Netcgi_env.workaround list;
}
val default_config : Netcgi1_compat.Netcgi_env.cgi_config
val of_compat_config :
Netcgi1_compat.Netcgi_env.cgi_config -> Netcgi.config
val to_compat_config :
Netcgi.config -> Netcgi1_compat.Netcgi_env.cgi_config
class type cgi_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_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_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 send_output_header : unit -> unit
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
val to_compat_environment :
Netcgi.cgi_environment -> Netcgi1_compat.Netcgi_env.cgi_environment
val of_compat_environment :
Netcgi1_compat.Netcgi_env.cgi_environment -> Netcgi.cgi_environment
end
module Netcgi_types :
sig
class type simple_message = Netmime.mime_body
type store = [ `File of string | `Memory ]
type representation =
[ `MIME of Netmime.mime_message
| `Simple of Netcgi1_compat.Netcgi_types.simple_message ]
class type cgi_argument =
object
method charset : string
method content_type : string
method content_type_params : (string * Mimestring.s_param) list
method filename : string option
method finalize : unit -> unit
method name : string
method open_value_rd : unit -> Netchannels.in_obj_channel
method open_value_wr : unit -> Netchannels.out_obj_channel
method representation : Netcgi1_compat.Netcgi_types.representation
method ro : bool
method set_value : string -> unit
method store : Netcgi1_compat.Netcgi_types.store
method value : string
end
val to_compat_argument :
Netcgi.cgi_argument -> Netcgi1_compat.Netcgi_types.cgi_argument
val of_compat_argument :
Netcgi1_compat.Netcgi_types.cgi_argument -> Netcgi.cgi_argument
type cgi_cookie =
Nethttp.netscape_cookie = {
cookie_name : string;
cookie_value : string;
cookie_expires : float option;
cookie_domain : string option;
cookie_path : string option;
cookie_secure : bool;
}
type status = Nethttp.http_status
type request_method =
[ `DELETE
| `GET
| `HEAD
| `POST
| `PUT of Netcgi1_compat.Netcgi_types.cgi_argument ]
type cache_control = [ `Max_age of int | `No_cache | `Unspecified ]
type query_string_spec =
[ `Args of Netcgi1_compat.Netcgi_types.cgi_argument list
| `Current
| `Initial
| `None ]
type other_url_spec = [ `Env | `None | `This of string ]
class type cgi_activation =
object
method argument :
string -> Netcgi1_compat.Netcgi_types.cgi_argument
method argument_value : ?default:string -> string -> string
method arguments :
(string * Netcgi1_compat.Netcgi_types.cgi_argument) list
method delete_argument : ?fin:bool -> string -> unit
method environment : Netcgi1_compat.Netcgi_env.cgi_environment
method finalize : unit -> unit
method initial_argument :
string -> Netcgi1_compat.Netcgi_types.cgi_argument
method initial_argument_value : ?default:string -> string -> string
method initial_arguments :
(string * Netcgi1_compat.Netcgi_types.cgi_argument) list
method initial_multiple_argument :
string -> Netcgi1_compat.Netcgi_types.cgi_argument list
method multiple_argument :
string -> Netcgi1_compat.Netcgi_types.cgi_argument list
method output : Netchannels.trans_out_obj_channel
method request_method : Netcgi1_compat.Netcgi_types.request_method
method set_arguments :
?fin:bool ->
Netcgi1_compat.Netcgi_types.cgi_argument list -> unit
method set_header :
?status:Netcgi1_compat.Netcgi_types.status ->
?content_type:string ->
?cache:Netcgi1_compat.Netcgi_types.cache_control ->
?filename:string ->
?language:string ->
?script_type:string ->
?style_type:string ->
?set_cookie:Netcgi1_compat.Netcgi_types.cgi_cookie list ->
?fields:(string * string list) list -> unit -> unit
method set_redirection_header : string -> unit
method update_argument :
?fin:bool -> Netcgi1_compat.Netcgi_types.cgi_argument -> unit
method update_multiple_argument :
?fin:bool ->
Netcgi1_compat.Netcgi_types.cgi_argument list -> unit
method url :
?protocol:Netcgi1_compat.Netcgi_env.protocol ->
?with_authority:Netcgi1_compat.Netcgi_types.other_url_spec ->
?with_script_name:Netcgi1_compat.Netcgi_types.other_url_spec ->
?with_path_info:Netcgi1_compat.Netcgi_types.other_url_spec ->
?with_query_string:Netcgi1_compat.Netcgi_types.query_string_spec ->
unit -> string
end
val to_compat_activation :
Netcgi.cgi -> Netcgi1_compat.Netcgi_types.cgi_activation
val of_compat_activation :
Netcgi1_compat.Netcgi_types.cgi_activation -> Netcgi.cgi
end
module Netcgi :
sig
type argument_processing = [ `Automatic | `File | `Memory ]
type operating_type =
[ `Direct of string
| `Transactional of
Netcgi1_compat.Netcgi_env.cgi_config ->
Netchannels.out_obj_channel ->
Netchannels.trans_out_obj_channel ]
class simple_argument :
?ro:bool -> string -> string -> Netcgi_types.cgi_argument
class mime_argument :
?work_around_backslash_bug:bool ->
string -> Netmime.mime_message -> Netcgi_types.cgi_argument
class std_activation :
?env:Netcgi1_compat.Netcgi_env.cgi_environment ->
?processing:(string ->
Netmime.mime_header ->
Netcgi1_compat.Netcgi.argument_processing) ->
?operating_type:Netcgi1_compat.Netcgi.operating_type ->
unit -> Netcgi_types.cgi_activation
val buffered_transactional_optype :
Netcgi1_compat.Netcgi.operating_type
val tempfile_transactional_optype :
Netcgi1_compat.Netcgi.operating_type
end
end`