Re: mod_ext_filter and content-encoding

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




> On 24 Jul 2021, at 14:59, sebb <sebbaz@xxxxxxxxx> wrote:
> 
> I'm trying to write a filter to add a banner to some HTML pages.
> 
> I have used the following definition:
> 
> ExtFilterDefine rebootbanner mode=output \
>    intype=text/html outtype=text/html \
>   cmd="add_banner.sh"
> 
> The script contents boil down to:
> 
> echo header
> cat
> echo footer


If they're HTML, that'll break badly!  You'd need to add the header
and footer within the HTML <body>.  Markup-aware filters will do that,
or you could (at fairly low risk) use a sed or regexp search-and-replace filter.

A second consideration is that with ExtFilter you're incurring two performance
penalties.  Spawning an extfilter process (a CGI-equivalent overhead)
and pumping your data through the filter.

> This works fine for some pages, however other pages fail to display in
> a browser.
> Turns out that the issue is that the input to the filter is sometimes gzipped.
> The header causes issues for the browser display.

> How can I ensure that the filter is run before the output is gzipped?

It's many years ago so memory is hazy, but making filtering play nicely
with gzipped contents, particularly in a proxy situation, was one of the
main motivations behind both mod_filter and the INFLATE output filter in
mod_deflate.  Revisiting the documentation I see the image downsampling
example in the mod_filter page applies the same principle (and also dates it -
that was for a proxy accelerator for mobile phones pre-3G).

-- 
Nick Kew
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@xxxxxxxxxxxxxxxx
For additional commands, e-mail: users-help@xxxxxxxxxxxxxxxx





[Index of Archives]     [Open SSH Users]     [Linux ACPI]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Squid]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux