httpd-modules-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Joshua Marantz <jmara...@google.com>
Subject Re: Help trying to figure out why an output_filter is not called.
Date Wed, 05 Jan 2011 14:54:47 GMT
Thanks again for the fast response, Ben!

On Wed, Jan 5, 2011 at 8:57 AM, Ben Noordhuis <info@bnoordhuis.nl> wrote:

> On Wed, Jan 5, 2011 at 14:45, Joshua Marantz <jmarantz@google.com> wrote:
> > other filter be somehow finding our filter and killing it?  Or sending
> the
> > bytes directly to the network before our filter has a chance to run?
>
> Possibly, yes.
>

Can you elaborate?   Is this a common practice, to write bytes directly to
the network from an output filter?  What should I look for?  The owner of
the site where this is breaking sent me a few conf files and it enumerates
some of the modules inserted:

LoadModule perl_module modules/mod_perl.so
LoadModule mono_module modules/mod_mono.so
LoadModule bwlimited_module modules/mod_bwlimited.so
LoadModule bw_module modules/mod_bw.so
LoadModule jk_module modules/mod_jk.so

Does anyone know anything about these?  Could one of these have inserted an
output filter that spews bytes directly to the network?  I'll try to find
sources for those but if someone knows off-hand that would be helpful.


> By the way, why the complex setup? If you don't want the mod_headers
> filter to run, insert your filter before it, then remove it for each
> request that you handle.
>

This is an interesting idea.

I guess we should eliminate FIXUP_HEADERS_OUT, FIXUP_HEADERS_ERR, and
MOD_EXPIRES.  Are there any other similar header-mucking-filters I need to
kill?  I don't mind squirreling through the source code to find these names
(all are string literals in .c files) but I'm nervous they could change
without warning in a future version.

Moreover, expires_insert_filter runs as APR_HOOK_MIDDLE which means it runs
after my content-generator, which means that it won't have been inserted by
the time when I want to set my caching headers.

I guess that means I have to insert a new late-running hook that kills
undesirable output filters.  Does that wind up being simpler?

-Josh

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message