module Request:sig..end
type 
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 | | | 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.