httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
Subject Re: FW: cvs commit: apache-2.0/src/main http_core.c http_protocol.chttp_request.c
Date Wed, 04 Oct 2000 18:30:57 GMT

> > 3)  At the end of a request, clear all filters from the conn_rec, except
> > the connection oriented ones.
> What about subrequests?  Hanging the filter list off of the r works
> very nicely for subrequests.  Having one filter list hanging off the c
> means that at the end of a subrequest we have another cleanup
> operation.  What about redirects?  There is another cleanup operation. 
> What does having separate lists hurt?  Saving a pointer in the r?  In
> return we save code (and pathlength).

The separate list hurts because it ties the filters to a request based
protocol.  I was hoping to make the filtering more generic so that other
protocol modules could work with it too.  Hmmm.....  I hadn't thought of
subrequests and redirects.  Is this actually working now?  We don't
currently have a way to remove a filter from the filter list, so if a
sub-request adds a filter, doesn't it stay on the filter list past the end
of the sub-request?  I don't know, I haven't checked recently.  Oh, I see
the sub-request's filters stay in the sub-request request_rec.  So the
original request doesn't have access to it.  

It seems to me, that when we add a filter, we automatically give it a
pool, either in the request_rec or conn_rec.  We need a remove_filter
function regardless, could we register a cleanup with the correct pool,
so that when a sub-request goes away, it automatically removes any filters
it has added?

This is coming off the top of my head, but I kind of like that design, and
I think it will work.  Plus, something (I don't know what) really bothers
me about separating the filters between connection and request recs.  I am
not even close to standing in the way of doing it, but it grates on me.  I
am perfectly willing to code either method today, just to see how they
work.  Let's do that in fact:

Today, I will code connection oriented filters go in conn_rec, request
oriented filters go in the request_rec.  If this falls down for some
reason, we'll try putting everything in the conn_rec.


Ryan Bloom               
406 29th St.
San Francisco, CA 94131

View raw message