httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bill Stoddard" <b...@wstoddard.com>
Subject Re: [PATCH] move the 'quick' handler into ap_process_request_internal
Date Tue, 15 Jan 2002 19:46:41 GMT
+1

> updated version of the patch.
> if I hear no objections it will go in today.
> 
> Ian Holsman wrote:
>  > this patch would allow caching of subrequests if required.
>  > does anyone see any negatives of moving the quick handler so that
>  > it would be executed by subrequests?
>  >
>  > if not I'll apply this soon.
>  >
>  > --
> 
> C:\src\apache\httpd-2.0>cvs diff -u server\request.c 
> modules\http\http_request.c
> Index: server/request.c
> ===================================================================
> RCS file: /home/cvs/httpd-2.0/server/request.c,v
> retrieving revision 1.90
> diff -u -r1.90 request.c
> --- server/request.c    2 Jan 2002 21:58:43 -0000       1.90
> +++ server/request.c    15 Jan 2002 18:54:04 -0000
> @@ -143,6 +143,19 @@
>       int file_req = (r->main && r->filename);
>       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 */
>       if (!r->proxyreq && r->parsed_uri.path) {
>           access_status = ap_unescape_url(r->parsed_uri.path);
> Index: modules/http/http_request.c
> ===================================================================
> RCS file: /home/cvs/httpd-2.0/modules/http/http_request.c,v
> retrieving revision 1.122
> diff -u -r1.122 http_request.c
> --- modules/http/http_request.c 14 Dec 2001 03:29:13 -0000      1.122
> +++ modules/http/http_request.c 15 Jan 2002 18:54:04 -0000
> @@ -285,16 +285,13 @@
>        * to enable the quick handler to make decisions based on config
>        * directives in Location blocks.
>        */
> -    access_status = ap_run_quick_handler(r);
> -    if (access_status == DECLINED) {
> -        access_status = ap_process_request_internal(r);
> -        if (access_status == OK) {
> -            access_status = ap_invoke_handler(r);
> -        }
> -        else if (access_status == DONE) {
> -            /* e.g., something not in storage like TRACE */
> -            access_status = OK;
> -        }
> +    access_status = ap_process_request_internal(r);
> +    if (access_status == OK) {
> +        access_status = ap_invoke_handler(r);
> +    }
> +    else if (access_status == DONE) {
> +        /* e.g., something not in storage like TRACE */
> +        access_status = OK;
>       }
> 
>       if (access_status == OK) {
> 


Mime
View raw message