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:
1
CHANGES
1
CHANGES
@@ -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
|
||||||
|
@@ -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) {
|
||||||
|
@@ -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);
|
||||||
|
Reference in New Issue
Block a user