#include "apr_hooks.h"
#include "util_filter.h"
Go to the source code of this file.
Defines | |
| #define | AP_SUBREQ_NO_ARGS 0 |
| #define | AP_SUBREQ_MERGE_ARGS 1 |
| #define | MERGE_ALLOW 0 |
| #define | REPLACE_ALLOW 1 |
Functions | |
| AP_DECLARE (int) ap_process_request_internal(request_rec *r) | |
| AP_CORE_DECLARE_NONSTD (apr_status_t) ap_sub_req_output_filter(ap_filter_t *f | |
| AP_DECLARE_HOOK (int, create_request,(request_rec *r)) AP_DECLARE_HOOK(int | |
Variables | |
| const request_rec * | r |
| const request_rec ap_filter_t * | next_filter |
| const request_rec int | subtype |
| const char * | new_uri |
| apr_bucket_brigade * | bb |
| apr_time_t | dependency_mtime |
| int | reset |
| translate_name | |
| request_rec *r | check_user_id |
| request_rec *r request_rec *r | type_checker |
| request_rec *r request_rec *r request_rec *r | auth_checker |
request.c is the code which handles the main line of request processing, once a request has been read in (finding the right per- directory configuration, building it if necessary, and calling all the module dispatch functions in the right order).
The pieces here which are public to the modules, allow them to learn how the server would handle some other file or URI, or perhaps even direct the server to serve that other file instead of the one the client requested directly.
There are two ways to do that. The first is the sub_request mechanism, which handles looking up files and URIs as adjuncts to some other request (e.g., directory entries for multiviews and directory listings); the lookup functions stop short of actually running the request, but (e.g., for includes), a module may call for the request to be run by calling run_sub_req. The space allocated to create sub_reqs can be reclaimed by calling destroy_sub_req --- be sure to copy anything you care about which was allocated in its apr_pool_t elsewhere before doing this.
Definition in file http_request.h.
|
|
Definition at line 52 of file http_request.h. Referenced by read_types_multi(). |
|
|
Definition at line 51 of file http_request.h. Referenced by make_autoindex_entry(). |
|
|
Definition at line 235 of file http_request.h. Referenced by default_handler(). |
|
|
Definition at line 236 of file http_request.h. Referenced by handle_map_file(). |
|
|
An output filter to strip EOS buckets from sub-requests. This always has to be inserted at the end of a sub-requests filter stack.
Definition at line 1390 of file protocol.c. References AP_CORE_DECLARE_NONSTD, AP_DEBUG_ASSERT, APR_BRIGADE_PREPEND, old_write_filter_ctx::bb, and ctx. 01392 { 01393 old_write_filter_ctx *ctx = f->ctx; 01394 01395 AP_DEBUG_ASSERT(ctx); 01396 01397 if (ctx->bb != 0) { 01398 /* whatever is coming down the pipe (we don't care), we 01399 * can simply insert our buffered data at the front and 01400 * pass the whole bundle down the chain. 01401 */ 01402 APR_BRIGADE_PREPEND(bb, ctx->bb); 01403 } 01404 01405 return ap_pass_brigade(f->next, bb); 01406 }
|
|
|
Definition at line 344 of file http_request.h. |
|
|
Definition at line 131 of file http_request.h. |
|
|
Definition at line 300 of file http_request.h. |
|
|
Definition at line 198 of file http_request.h. |
|
|
Definition at line 120 of file http_request.h. |
|
|
Definition at line 120 of file http_request.h. |
|
|
Definition at line 175 of file http_request.h. |
|
|
Definition at line 233 of file http_request.h. |
|
|
Definition at line 106 of file http_request.h. |
|
|
Definition at line 271 of file http_request.h. |
|
|
Definition at line 319 of file http_request.h. |