Return-Path: Delivered-To: apmail-new-httpd-archive@apache.org Received: (qmail 82277 invoked by uid 500); 27 Mar 2001 21:00:37 -0000 Mailing-List: contact new-httpd-help@apache.org; run by ezmlm Precedence: bulk Reply-To: new-httpd@apache.org list-help: list-unsubscribe: list-post: Delivered-To: mailing list new-httpd@apache.org Received: (qmail 82253 invoked from network); 27 Mar 2001 21:00:37 -0000 Date: Tue, 27 Mar 2001 13:01:17 -0800 (PST) From: X-Sender: To: Cc: Subject: Re: cvs commit: httpd-2.0/server config.c In-Reply-To: <20010327191908.54533.qmail@apache.org> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Spam-Rating: h31.sny.collab.net 1.6.2 0/1000/N > RCS file: /home/cvs/httpd-2.0/modules/http/http_request.c,v > retrieving revision 1.93 > retrieving revision 1.94 > diff -u -r1.93 -r1.94 > --- http_request.c 2001/03/18 02:33:21 1.93 > +++ http_request.c 2001/03/27 19:19:07 1.94 > @@ -391,7 +391,36 @@ > > void ap_process_request(request_rec *r) > { > - process_request_internal(r); > + int access_status; > + > + /* Give quick handlers a shot at serving the request on the fast > + * path, bypassing all of the other Apache hooks. > + * > + * This hook was added to enable serving files out of a URI keyed > + * content cache ( e.g., Mike Abbott's Quick Shortcut Cache, > + * described here: http://oss.sgi.com/projects/apache/mod_qsc.html ) > + * > + * It may have other uses as well, such as routing requests directly to > + * content handlers that have the ability to grok HTTP and do their > + * own access checking, etc (e.g. servlet engines). > + * > + * Use this hook with extreme care and only if you know what you are > + * doing. > + * > + * Consider moving this hook to after the first location_walk in order > + * 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 == OK) { > + ap_finalize_request_protocol(r); > + } > + else if (access_status == DECLINED) { > + process_request_internal(r); > + } > + else { > + ap_die(access_status, r); > + } > > /* > * We want to flush the last packet if this isn't a pipelining connection > I have had more time to review this patch. -1. This has some serious implications for how we serve content. Take the following example: There is a directory htdocs/foobar and a directive alias /foobar/ /usr/local/foobar/ Serving content out of this phase means that we will serve the content from htdocs/foobar instead of from /usr/local/foobar. Bypassing all of the Apache hooks is not a good idea IMHO. Ryan _______________________________________________________________________________ Ryan Bloom rbb@apache.org 406 29th St. San Francisco, CA 94131 -------------------------------------------------------------------------------