`sig
module Apache :
sig
module Table :
sig
type t
external get : Netcgi_apache.Apache.Table.t -> string -> string
= "netcgi2_apache_table_get"
external get_all :
Netcgi_apache.Apache.Table.t -> string -> string list
= "netcgi2_apache_table_get_all"
external fields :
Netcgi_apache.Apache.Table.t -> (string * string) list
= "netcgi2_apache_table_fields"
external clear : Netcgi_apache.Apache.Table.t -> unit
= "netcgi2_apache_table_clear"
external set :
Netcgi_apache.Apache.Table.t -> string -> string -> unit
= "netcgi2_apache_table_set"
external add :
Netcgi_apache.Apache.Table.t -> string -> string -> unit
= "netcgi2_apache_table_add"
external unset : Netcgi_apache.Apache.Table.t -> string -> unit
= "netcgi2_apache_table_unset"
end
module Server :
sig
type t
external hostname : Netcgi_apache.Apache.Server.t -> string
= "netcgi2_apache_server_hostname"
external admin : Netcgi_apache.Apache.Server.t -> string
= "netcgi2_apache_server_admin"
external is_virtual : Netcgi_apache.Apache.Server.t -> bool
= "netcgi2_apache_server_is_virtual"
end
module Connection :
sig
type t
external remote_ip : Netcgi_apache.Apache.Connection.t -> string
= "netcgi2_apache_connection_remote_ip"
external remote_host : Netcgi_apache.Apache.Connection.t -> string
= "netcgi2_apache_connection_remote_host"
end
module Request :
sig
type t
external connection :
Netcgi_apache.Apache.Request.t ->
Netcgi_apache.Apache.Connection.t
= "netcgi2_apache_request_connection"
external server :
Netcgi_apache.Apache.Request.t -> Netcgi_apache.Apache.Server.t
= "netcgi2_apache_request_server"
external next :
Netcgi_apache.Apache.Request.t -> Netcgi_apache.Apache.Request.t
= "netcgi2_apache_request_next"
external prev :
Netcgi_apache.Apache.Request.t -> Netcgi_apache.Apache.Request.t
= "netcgi2_apache_request_prev"
external main :
Netcgi_apache.Apache.Request.t -> Netcgi_apache.Apache.Request.t
= "netcgi2_apache_request_main"
external the_request : Netcgi_apache.Apache.Request.t -> string
= "netcgi2_apache_request_the_request"
external assbackwards : Netcgi_apache.Apache.Request.t -> bool
= "netcgi2_apache_request_assbackwards"
external header_only : Netcgi_apache.Apache.Request.t -> bool
= "netcgi2_apache_request_header_only"
external protocol : Netcgi_apache.Apache.Request.t -> string
= "netcgi2_apache_request_protocol"
external proto_num : Netcgi_apache.Apache.Request.t -> int
= "netcgi2_apache_request_proto_num"
external hostname : Netcgi_apache.Apache.Request.t -> string
= "netcgi2_apache_request_hostname"
external request_time : Netcgi_apache.Apache.Request.t -> float
= "netcgi2_apache_request_request_time"
external status_line : Netcgi_apache.Apache.Request.t -> string
= "netcgi2_apache_request_status_line"
external set_status_line :
Netcgi_apache.Apache.Request.t -> string -> unit
= "netcgi2_apache_request_set_status_line"
external status : Netcgi_apache.Apache.Request.t -> int
= "netcgi2_apache_request_status"
external set_status : Netcgi_apache.Apache.Request.t -> int -> unit
= "netcgi2_apache_request_set_status"
external method_name : Netcgi_apache.Apache.Request.t -> string
= "netcgi2_apache_request_method"
val method_number :
Netcgi_apache.Apache.Request.t ->
[ `CONNECT
| `COPY
| `DELETE
| `GET
| `INVALID
| `LOCK
| `MKCOL
| `MOVE
| `OPTIONS
| `PATCH
| `POST
| `PROPFIND
| `PROPPATCH
| `PUT
| `TRACE
| `UNLOCK ]
external headers_in :
Netcgi_apache.Apache.Request.t -> Netcgi_apache.Apache.Table.t
= "netcgi2_apache_request_headers_in"
external headers_out :
Netcgi_apache.Apache.Request.t -> Netcgi_apache.Apache.Table.t
= "netcgi2_apache_request_headers_out"
external err_headers_out :
Netcgi_apache.Apache.Request.t -> Netcgi_apache.Apache.Table.t
= "netcgi2_apache_request_err_headers_out"
external subprocess_env :
Netcgi_apache.Apache.Request.t -> Netcgi_apache.Apache.Table.t
= "netcgi2_apache_request_subprocess_env"
external notes :
Netcgi_apache.Apache.Request.t -> Netcgi_apache.Apache.Table.t
= "netcgi2_apache_request_notes"
external content_type : Netcgi_apache.Apache.Request.t -> string
= "netcgi2_apache_request_content_type"
external set_content_type :
Netcgi_apache.Apache.Request.t -> string -> unit
= "netcgi2_apache_request_set_content_type"
external uri : Netcgi_apache.Apache.Request.t -> string
= "netcgi2_apache_request_uri"
external port : Netcgi_apache.Apache.Request.t -> int
= "netcgi2_apache_request_port"
external set_uri : Netcgi_apache.Apache.Request.t -> string -> unit
= "netcgi2_apache_request_set_uri"
external filename : Netcgi_apache.Apache.Request.t -> string
= "netcgi2_apache_request_filename"
external set_filename :
Netcgi_apache.Apache.Request.t -> string -> unit
= "netcgi2_apache_request_set_filename"
external path_info : Netcgi_apache.Apache.Request.t -> string
= "netcgi2_apache_request_path_info"
external set_path_info :
Netcgi_apache.Apache.Request.t -> string -> unit
= "netcgi2_apache_request_set_path_info"
external args : Netcgi_apache.Apache.Request.t -> string
= "netcgi2_apache_request_args"
external set_args :
Netcgi_apache.Apache.Request.t -> string -> unit
= "netcgi2_apache_request_set_args"
external finfo :
Netcgi_apache.Apache.Request.t -> Unix.stats option
= "netcgi2_apache_request_finfo"
type read_policy =
NO_BODY
| CHUNKED_ERROR
| CHUNKED_DECHUNK
| CHUNKED_PASS
val setup_client_block :
Netcgi_apache.Apache.Request.t ->
Netcgi_apache.Apache.Request.read_policy -> unit
external should_client_block :
Netcgi_apache.Apache.Request.t -> bool
= "netcgi2_apache_request_should_client_block"
val get_client_block : Netcgi_apache.Apache.Request.t -> string
val get_client_block_buf :
Netcgi_apache.Apache.Request.t ->
Stdlib.Bytes.t -> int -> int -> int
val discard_request_body : Netcgi_apache.Apache.Request.t -> unit
external user : Netcgi_apache.Apache.Request.t -> string
= "netcgi2_apache_request_user"
external auth_type : Netcgi_apache.Apache.Request.t -> string
= "netcgi2_apache_auth_type"
external note_auth_failure : Netcgi_apache.Apache.Request.t -> unit
= "netcgi2_apache_request_note_auth_failure"
external note_basic_auth_failure :
Netcgi_apache.Apache.Request.t -> unit
= "netcgi2_apache_request_note_basic_auth_failure"
external note_digest_auth_failure :
Netcgi_apache.Apache.Request.t -> unit
= "netcgi2_apache_request_note_digest_auth_failure"
val get_basic_auth_pw :
Netcgi_apache.Apache.Request.t -> string option
external internal_redirect :
string -> Netcgi_apache.Apache.Request.t -> unit
= "netcgi2_apache_request_internal_redirect"
external internal_redirect_handler :
string -> Netcgi_apache.Apache.Request.t -> unit
= "netcgi2_apache_request_internal_redirect_handler"
external send_http_header : Netcgi_apache.Apache.Request.t -> unit
= "netcgi2_apache_request_send_http_header"
val rflush : Netcgi_apache.Apache.Request.t -> unit
external print_char :
Netcgi_apache.Apache.Request.t -> char -> unit
= "netcgi2_apache_request_print_char"
val print_string : Netcgi_apache.Apache.Request.t -> string -> unit
val output :
Netcgi_apache.Apache.Request.t ->
Stdlib.Bytes.t -> int -> int -> int
val print_int : Netcgi_apache.Apache.Request.t -> int -> unit
val print_float : Netcgi_apache.Apache.Request.t -> float -> unit
val print_newline : Netcgi_apache.Apache.Request.t -> unit
val print_endline :
Netcgi_apache.Apache.Request.t -> string -> unit
external register_cleanup :
Netcgi_apache.Apache.Request.t -> (unit -> unit) -> unit
= "netcgi2_apache_request_register_cleanup"
end
end
module Handler :
sig
type result = OK | DECLINED | DONE | HTTP of int
type t = Netcgi_apache.Apache.Request.t -> Netcgi_apache.Handler.result
val register : Netcgi_apache.Handler.t -> string -> unit
end
class type cgi =
object
method argument : string -> Netcgi.cgi_argument
method argument_exists : string -> bool
method argument_value : ?default:string -> string -> string
method arguments : Netcgi.cgi_argument list
method at_exit : (unit -> unit) -> unit
method environment : Netcgi.cgi_environment
method finalize : unit -> unit
method multiple_argument : string -> Netcgi.cgi_argument list
method out_channel : Netchannels.trans_out_obj_channel
method output : Netchannels.trans_out_obj_channel
method request : Netcgi_apache.Apache.Request.t
method request_method :
[ `DELETE | `GET | `HEAD | `POST | `PUT of Netcgi.cgi_argument ]
method set_header :
?status:Nethttp.http_status ->
?content_type:string ->
?content_length:int ->
?set_cookie:Nethttp.cookie list ->
?set_cookies:Netcgi.Cookie.t list ->
?cache:Netcgi.cache_control ->
?filename:string ->
?language:string ->
?script_type:string ->
?style_type:string ->
?fields:(string * string list) list -> unit -> unit
method set_redirection_header :
?set_cookies:Netcgi.Cookie.t list ->
?fields:(string * string list) list -> string -> unit
method url :
?protocol:Nethttp.protocol ->
?with_authority:Netcgi.other_url_spec ->
?with_script_name:Netcgi.other_url_spec ->
?with_path_info:Netcgi.other_url_spec ->
?with_query_string:Netcgi.query_string_spec -> unit -> string
end
val run :
?config:Netcgi.config ->
?output_type:Netcgi.output_type ->
?arg_store:Netcgi.arg_store ->
?exn_handler:Netcgi.exn_handler -> (Netcgi_apache.cgi -> unit) -> unit
end`