module Request:sig..end
type t
Apache request_rec structure.
val connection : t -> Netcgi_apache.Apache.Connection.trequest_rec connection field.
val server : t -> Netcgi_apache.Apache.Server.trequest_rec server field.
val next : t -> trequest_rec next field.
Not_found if NULL.val prev : t -> trequest_rec prev field.
Not_found if NULL.val main : t -> trequest_rec main field.
Not_found if NULL.val the_request : t -> stringrequest_rec the_request field.
Not_found if NULL.val assbackwards : t -> boolrequest_rec assbackwards field; true if HTTP/0.9,
"simple" request.
val header_only : t -> boolrequest_rec header_only field. It is true when the
request method is HEAD.
val protocol : t -> stringrequest_rec protocol field.
Not_found if NULL.val proto_num : t -> intrequest_rec proto_num field. Number version of
protocol; 1.1 = 1001
val hostname : t -> stringrequest_rec hostname field -- hostname to which the
request was made.
Not_found if NULL.val request_time : t -> floatrequest_rec request_time field.
val status_line : t -> stringrequest_rec status_line field.
Not_found if NULL.val set_status_line : t -> string -> unitSet request_rec status_line field.
val status : t -> intrequest_rec status field.
val set_status : t -> int -> unitSet request_rec status field.
val method_name : t -> stringrequest_rec method field.
val method_number : t ->
[ `CONNECT
| `COPY
| `DELETE
| `GET
| `INVALID
| `LOCK
| `MKCOL
| `MOVE
| `OPTIONS
| `PATCH
| `POST
| `PROPFIND
| `PROPPATCH
| `PUT
| `TRACE
| `UNLOCK ]request_rec method_number field (given symbolically
instead of a number).
val headers_in : t -> Netcgi_apache.Apache.Table.trequest_rec headers_in field.
val headers_out : t -> Netcgi_apache.Apache.Table.trequest_rec headers_out field.
val err_headers_out : t -> Netcgi_apache.Apache.Table.trequest_rec err_headers_out field.
val subprocess_env : t -> Netcgi_apache.Apache.Table.trequest_rec subprocess_env field.
val notes : t -> Netcgi_apache.Apache.Table.trequest_rec notes field.
val content_type : t -> stringrequest_rec content_type field.
Not_found if NULL.val set_content_type : t -> string -> unitSet request_rec content_type field.
val uri : t -> stringrequest_rec uri field.
Not_found if NULL.val port : t -> intServer port.
val set_uri : t -> string -> unitSet request_rec uri field.
val filename : t -> stringrequest_rec filename field.
Not_found if NULL.val set_filename : t -> string -> unitSet request_rec filename field.
val path_info : t -> stringrequest_rec path_info field.
Not_found if NULL.val set_path_info : t -> string -> unitSet request_rec path_info field.
val args : t -> stringrequest_rec args field.
Not_found if NULL.val set_args : t -> string -> unitSet request_rec args field.
val finfo : t -> Unix.stats optionrequest_rec finfo field.
type read_policy =
| |
NO_BODY |
(* | Send 413 error if message has any body | *) |
| |
CHUNKED_ERROR |
(* | Send 411 error if body without Content-Length | *) |
| |
CHUNKED_DECHUNK |
(* | If chunked, remove the chunks for me. | *) |
| |
CHUNKED_PASS |
(* | Pass the chunks to me without removal. | *) |
Policy to apply by setup_client_block if the request message
indicates a body.
val setup_client_block : t ->
read_policy -> unitSetup for reading client request.
Netcgi_common.HTTP in case of problems.val should_client_block : t -> boolReturns true if there is any client request data.
val get_client_block : t -> stringGet client request data.
Netcgi_common.HTTP in case of reading error.val get_client_block_buf : t -> Stdlib.Bytes.t -> int -> int -> intget_client_block_buf r buf ofs len read a chunk of data
and puts it in buf.[ofs .. ofs+len-1]. The return value
i is the number of bytes actually read -- thus only
buf.[ofs .. ofs+i-1] is meaningful.
Netcgi_common.HTTP in case of reading error.val discard_request_body : t -> unitDiscard client request body.
Netcgi_common.HTTP in case of problems.val user : t -> stringThe authenticated user.
Not_found if NULL.val auth_type : t -> string
val note_auth_failure : t -> unitSet headers to tell browser that authentication failed.
val note_basic_auth_failure : t -> unitSet headers to tell browser that basic authentication failed.
val note_digest_auth_failure : t -> unitSet headers to tell browser that digest authentication failed.
val get_basic_auth_pw : t -> string optionGet the password sent in basic authentication.
Netcgi_common.HTTP in case of problems.val internal_redirect : string -> t -> unitInternally redirects immediately to uri.
val internal_redirect_handler : string -> t -> unitInternally redirects immediately to uri using handler specified
by r.
val send_http_header : t -> unitSend the HTTP headers. Note that you must set the Status
and Content-Type with set_status and set_content_type
respectively.
val rflush : t -> unitFlush any buffered data waiting to be written to the client.
End_of_file if it is not possible.val print_char : t -> char -> unitSend a character back to the client.
val print_string : t -> string -> unitSend a string back to the client.
val output : t -> Stdlib.Bytes.t -> int -> int -> intoutput r s ofs len send s[ofs .. len-1] back to the
client. Returns the number of bytes actually written, which
is smaller than the number of bytes in the string if there
was a failure.
val print_int : t -> int -> unitSend a decimal number back to the client.
val print_float : t -> float -> unitSend a floating-point number back to the client.
val print_newline : t -> unitSend a CR LF back to the client.
val print_endline : t -> string -> unitSend a string followed by CR LF back to the client.
val register_cleanup : t -> (unit -> unit) -> unitRegister a cleanup function which is called when the current request cycle ends.