I believe the attached .patch file should resolve our issues with the
subrequest
negotiation.  Essentially, we want the sub request to build a new filter
chain if
we plan on using the subrequest as a 'fast internal redirect'.

This patch does just that, when we fast redirect, we replace the original
request
filters with the new request filters.  In preparing the request, we go back
to our
favorite r->connection filters to start, when we are making the subrequest
with
a NULL next_filter.

But the patch is broken.  Free beer at ApacheCon 2002 to the first hacker
who
untangles the misbehavior that fouls up this patch.  Make that hard stuff if
you
discover it's a simple bug in my patch :)

One hint.  I think our whole "Either Connection or Request" idea of filters
is
borked.  It really seems that "Either Connection or Protocol or Body" is a
much
better model - this bug seems to prove that once again.  I think we really
wanted
to grab r->http_input_filters and r->protocol_output_filters when we set up
the
subreq of next_filter==NULL.  But there doesn't appear to be such a thing.

Bill



Attachment: subrequest.patch
Description: Binary data

Reply via email to