#include <cpp_request.h>
Public Member Functions | |
ApacheRequestRec (request_rec *r, ApacheRequestRec *pPrev=NULL, ApacheRequestRec *pNext=NULL) | |
~ApacheRequestRec () | |
apr_pool_t * | pool () |
conn_rec * | connection () |
ApacheServerRec * | server () |
ApacheRequestRec * | next () |
ApacheRequestRec * | prev () |
ApacheRequestRec * | main () |
const char * | the_request () const |
int | assbackwards () const |
int | proxyreq () const |
int | header_only () const |
const char * | protocol () const |
int | proto_num () const |
const char * | hostname () const |
apr_time_t | request_time () const |
const char * | status_line () const |
int | status () const |
const char * | method () const |
int | method_number () const |
apr_int64_t | allowed () const |
'allowed' is a bitvector of the allowed methods. | |
const apr_array_header_t * | allowed_xmethods () const |
const ap_method_list_t * | allowed_methods () const |
apr_off_t | sent_bodyct () const |
apr_off_t | bytes_sent () const |
apr_time_t | mtime () const |
int | chunked () const |
const char * | range () const |
apr_off_t | clength () const |
apr_off_t | remaining () const |
apr_off_t | read_length () const |
int | read_body () const |
int | read_chunked () const |
apr_table_t * | headers_in () const |
apr_table_t * | headers_out () const |
apr_table_t * | err_headers_out () const |
apr_table_t * | subprocess_env () const |
apr_table_t * | notes () const |
const char * | content_type (char *type=NULL) const |
const char * | handler () |
const char * | content_encoding () |
int | discard_request_body () |
int | get_client_block (char *buf, apr_size_t bufsiz) |
const apr_array_header_t * | content_languages () const |
const char * | vlist_validator () const |
const char * | user () const |
const char * | ap_auth_type () const |
const char * | unparsed_uri () const |
const char * | uri () const |
const char * | filename () const |
const char * | path_info () const |
const char * | args () const |
int | no_cache () const |
int | no_local_copy () const |
apr_finfo_t | finfo () const |
apr_uri_t | parsed_uri () const |
void * | get_dir_config (module *m) |
void * | get_server_config (module *m) |
int | get_basic_auth_pw (const char **sent_pw) |
int | rputc (int c) |
int | rputs (const char *str) const |
int | rwrite (const void *buf, int nbyte) |
int | rprintf (const char *fmt,...) |
int | rflush () |
int | allow_options () |
int | allow_overrides () |
const char * | default_type () |
const char * | document_root () |
const char * | get_remote_logname () |
const char * | get_server_name () |
void | custom_response (int status, const char *str) |
void | internal_redirect (const char *new_uri) |
void | internal_redirect_handler (const char *new_uri) |
int | some_auth_required () |
int | is_initial_req () |
void | update_mtime (apr_time_t dependency_mtime) |
void | allow_methods (int reset,...) |
void | dump () const |
string | dump_string () const |
string | table_string (const apr_table_t *pTable) const |
void | dump_table (const apr_table_t *pTable) const |
request_rec * | get_request_rec () |
Private Member Functions | |
string | istring (int value, const char *format="%d") const |
string | mstring (const char *cp) const |
Private Attributes | |
request_rec * | mRequest |
ApacheRequestRec * | mPrev |
ApacheRequestRec * | mNext |
ApacheRequestRec * | mMain |
ApacheServerRec * | mServer |
|
|
|
|
|
|
|
|
|
|
|
'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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
utility functions for formatting |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|