1
0
mirror of https://github.com/apache/httpd.git synced 2025-08-07 04:02:58 +03:00

quick handler now runs on subrequests as well

PR:
Obtained from:
Submitted by:
Reviewed by:


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@92862 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Ian Holsman
2002-01-16 04:29:10 +00:00
parent 951a0cbf39
commit 6dcd25894c
3 changed files with 21 additions and 10 deletions

View File

@@ -1,4 +1,5 @@
Changes with Apache 2.0.31-dev Changes with Apache 2.0.31-dev
*) allow quick_handler to be run on subrequests. [Ian Holsman]
*) mod_dav now asks its provider to place content directly into the *) mod_dav now asks its provider to place content directly into the
filter stack when handling a GET request. The mod_dav/provider filter stack when handling a GET request. The mod_dav/provider

View File

@@ -285,16 +285,13 @@ void ap_process_request(request_rec *r)
* to enable the quick handler to make decisions based on config * to enable the quick handler to make decisions based on config
* directives in Location blocks. * directives in Location blocks.
*/ */
access_status = ap_run_quick_handler(r); access_status = ap_process_request_internal(r);
if (access_status == DECLINED) { if (access_status == OK) {
access_status = ap_process_request_internal(r); access_status = ap_invoke_handler(r);
if (access_status == OK) { }
access_status = ap_invoke_handler(r); else if (access_status == DONE) {
} /* e.g., something not in storage like TRACE */
else if (access_status == DONE) { access_status = OK;
/* e.g., something not in storage like TRACE */
access_status = OK;
}
} }
if (access_status == OK) { if (access_status == OK) {

View File

@@ -143,6 +143,19 @@ AP_DECLARE(int) ap_process_request_internal(request_rec *r)
int file_req = (r->main && r->filename); int file_req = (r->main && r->filename);
int access_status; int access_status;
access_status = ap_run_quick_handler(r);
if (access_status != DECLINED) {
if ( access_status == OK ) {
if (!r->main)
return DONE;
else
return OK;
}
else {
return access_status;
}
}
/* Ignore embedded %2F's in path for proxy requests */ /* Ignore embedded %2F's in path for proxy requests */
if (!r->proxyreq && r->parsed_uri.path) { if (!r->proxyreq && r->parsed_uri.path) {
access_status = ap_unescape_url(r->parsed_uri.path); access_status = ap_unescape_url(r->parsed_uri.path);