#include <httpd.h>
apr_int64_t request_rec::allowed |
'allowed' is a bitvector of the allowed methods.
A handler must ensure that the request method is one that it is capable of handling. Generally modules should DECLINE any request methods they do not handle. Prior to aborting the handler like this the handler should set r->allowed to the list of methods that it is willing to handle. This bitvector is used to construct the "Allow:" header required for OPTIONS requests, and HTTP_METHOD_NOT_ALLOWED and HTTP_NOT_IMPLEMENTED status codes.
Since the default_handler deals with OPTIONS, all modules can usually decline to deal with OPTIONS. TRACE is always allowed, modules don't need to set it explicitly.
Since the default_handler will always handle a GET, a module which does *not* implement GET should probably return HTTP_METHOD_NOT_ALLOWED. Unfortunately this means that a Script GET handler can't be installed by mod_actions.
List of allowed methods
Array of extension methods
If an authentication check was made, this gets set to the auth type.
char* request_rec::args |
The QUERY_ARGS extracted from this request
HTTP/0.9, "simple" request (e.g. GET /foo
w/no headers)
apr_off_t request_rec::bytes_sent |
body byte count, for easy access
The true filename, we canonicalize r->filename if these don't match
sending chunked transfer-coding
apr_off_t request_rec::clength |
The "real" content length
The connection to the client
const char* request_rec::content_encoding |
How to encode the data
Array of strings representing the content languages
const char* request_rec::content_type |
The content-type for the current request
A flag to determine if the eos bucket has been sent yet
MIME header environment for the response, printed even on errors and persist across internal redirects
unsigned request_rec::expecting_100 |
is client waiting for a 100 response?
char* request_rec::filename |
The filename on disk corresponding to this response
finfo.protection (st_mode) set to zero if no such file
const char* request_rec::handler |
The handler string that we use to call a handler function
HEAD request, as opposed to GET
MIME header environment from the request
MIME header environment for the response
const char* request_rec::hostname |
Host, as set by full URI or Host:
struct htaccess_result* request_rec::htaccess |
A linked list of the .htaccess configuration directives accessed by this request. N.B. always add to the head of the list, _never_ to the end. that way, a sub request's list can (temporarily) point to a parent's list
A list of input filters to be used for this request
Pointer to the main request if this is a sub-request (see http_request.h)
const char* request_rec::method |
Request method (eg. GET, HEAD, POST, etc.)
M_GET, M_POST, etc.
Last modified time of the requested resource
Pointer to the redirected request if this is an external redirect
This response can not be cached
There is no local copy of this response
Notes from one module to another
A list of output filters to be used for this request
A struct containing the components of URI
char* request_rec::path_info |
The PATH_INFO extracted from this request
Options set in config files, etc.
The pool associated with the request
Pointer to the previous request if this is an internal redirect
A list of protocol level input filters to be used for this request
Protocol version number of protocol; 1.1 = 1001
A list of protocol level output filters to be used for this request
char* request_rec::protocol |
Protocol string, as given to us, or HTTP/0.9
A proxy request (calculated during post_read_request/translate_name) possible values PROXYREQ_NONE, PROXYREQ_PROXY, PROXYREQ_REVERSE, PROXYREQ_RESPONSE
const char* request_rec::range |
The Range: header
Method for reading the request body (eg. REQUEST_CHUNKED_ERROR, REQUEST_NO_BODY, REQUEST_CHUNKED_DECHUNK, etc...)
reading chunked transfer-coding
apr_off_t request_rec::read_length |
Number of bytes that have been read from the request body
apr_off_t request_rec::remaining |
Remaining bytes left to read from the request body
Notes on *this* request
Time when the request started
apr_off_t request_rec::sent_bodyct |
byte count in stream is for body
The virtual host for this request
Status line
const char* request_rec::status_line |
Status line, if set by script
Array of environment variables to be used for sub processes
char* request_rec::the_request |
First line of request
The URI without any parsing performed
char* request_rec::uri |
The path portion of the URI
Flag for the handler to accept or reject path_info on the current request. All modules should respect the AP_REQ_ACCEPT_PATH_INFO and AP_REQ_REJECT_PATH_INFO values, while AP_REQ_DEFAULT_PATH_INFO indicates they may follow existing conventions. This is set to the user's preference upon HOOK_VERY_FIRST of the fixups.
char* request_rec::user |
If an authentication check was made, this gets set to the user name.
variant list validator (if negotiated)