Return-Path: Delivered-To: apmail-new-httpd-archive@apache.org Received: (qmail 26757 invoked by uid 500); 8 Sep 2000 17:44:52 -0000 Mailing-List: contact new-httpd-help@apache.org; run by ezmlm Precedence: bulk X-No-Archive: yes Reply-To: new-httpd@apache.org list-help: list-unsubscribe: list-post: Delivered-To: mailing list new-httpd@apache.org Delivered-To: moderator for new-httpd@apache.org Received: (qmail 28167 invoked from network); 7 Sep 2000 15:13:23 -0000 To: new-httpd@apache.org Subject: Re: [PATCH] filtering and canned error responses References: <39B52470.C8541972@Golux.Com> <20000906004638.D60191@hand.dotat.at> <39B666D5.AF6C5D98@raleigh.ibm.com> <20000906222029.B656@hand.dotat.at> From: Jeff Trawick Date: 07 Sep 2000 11:13:14 -0400 In-Reply-To: Tony Finch's message of "Wed, 6 Sep 2000 22:20:29 +0000" Message-ID: Lines: 38 X-Mailer: Gnus v5.5/Emacs 20.3 X-Spam-Rating: locus.apache.org 1.6.2 0/1000/N Tony Finch writes: > Greg Ames wrote: > > > >But that doesn't really address what Jeff was trying to fix when he > >started this thread - the canned error text case. In this case the > >response may have different characteristics (charset pairs, content > >type) than what the hook phases prior to the handler/generator have > >decided and might be remembering. So any filters that must be invoked > >may do the wrong thing if we're not careful. > > What I'm suggesting is that Apache's canned error responses should be > generated by a special handler that is mapped into the URI space. (A > little bit like the way Squid does it, but using a filename prefix > rather than a special scheme.) E.g. /__internal__/error_404.html or > anything that's reasonably unlikely to clash with existing URIs. Then > when an error happens an internal redirect to the special URI occurs, > which implies reconstruction of the filter stack. > > There does need to be a further fallback in case of egregious 500 > errors, e.g. when setting up the filter stack for an error, in which > case there will have to me a hard-coded oh-my-god-everything's-broken > filter stack probably comprising nothing but the core filter and an > implementation -> network charset filter if necessary. That sounds a lot like the patch I posted last week, though my patch did this for more than 500 errors. It does pretty much what you say (though it doesn't cut out the chunk filter if it is present). It is intended for non-redirected errors. In the short term, this would be more than just 500. In the long term (after somebody implements something like you describe above (or anything else that lets filters know that they can't use the config associated with the original URI)), this would be just for 500 errors. -- Jeff Trawick | trawick@ibm.net | PGP public key at web site: http://www.geocities.com/SiliconValley/Park/9289/ Born in Roswell... married an alien...