httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Eli Marmor <>
Subject Re: cvs commit: httpd-2.0 STATUS
Date Tue, 20 Nov 2001 07:57:12 GMT
William A. Rowe, Jr. wrote:

> >   +    * revamp the input filter syntax to provide for ordering of
> >   +      filters created with the Set{Input|Output}Filter and the
> >   +      Add{Input|Output}Filter directives.  At minimum, some sort
> >   +      of insert first v.s. append to end or 'relative to x' is
> >   +      probably needed.
> What if... we were to make the syntax be filtername[{+|-}{0..10}]?  Such
> that -10 (CONTENT-10 == 0) was closest to the handler, and +10
> (CONTENT+10, HTTP) was closest to the network?  Charset transliteration
> to a common denominator (e.g. utf-8) might happen at +9, while SSI
> scripts might operate at -9.
> Just a thought.  Dunno if it makes any sense, but it would offer some
> level of control.

As Bill (and the original sender) wrote, there is a clear need for such
a mechanism, but the suggested ways don't meet it perfectly.

Another way, a little similar to what other systems do (like X Windows
in the case of "layout wars" between widgets in the same container), is
to provide a new hook/callback. After a filter registered this
callback, any filter which will register itself with the same AP_FTYPE,
will trigger this callback, and then the callback can switch the order
of these two filters, according to its preferences and logic.

It's more complex, but clean, doesn't require hacks like [+-][1-9], and
fully backward compatible (because it doesn't have any effect as long
as the registration function is not used).

Just a thought, too...

In any case, even if you choose what Bill wrote, please avoid using
both "+" and "-". One of the is enough to generate any needed value,
while a simultaneous usage of both may cause lower AP_FTYPE filters to
be registered higher than higher AP_FTYPE filters and vice versa.

P.S. [off-topic]  Is there any documentation about SCOREBOARD?  I want
to exploit it not for mod_status, but for another purpose (triggering
a function in the parent from a child), and it is almost impossible to
understand the API from the sources. Or is there another suggestion
how to do what I want?

Eli Marmor
CTO, Founder
Netmask (El-Mar) Internet Technologies Ltd.
Tel.:   +972-9-766-1020          8 Yad-Harutzim St.
Fax.:   +972-9-766-1314          P.O.B. 7004
Mobile: +972-50-23-7338          Kfar-Saba 44641, Israel

View raw message