Re: Barrier to implementing web content compression in mod_perl

[prev] [thread] [next] [Date index for 2005/01/31]

From: Alex Greg
Subject: Re: Barrier to implementing web content compression in mod_perl
Date: 23:06 on 31 Jan 2005
On Mon, 31 Jan 2005 17:55:27 -0500, Perrin Harkins <perrin@xxxx.xxx> wrote:
> On Mon, 2005-01-31 at 21:23 +0000, Alex Greg wrote:
> > I'm using Apache::RegistryFilter:
> >
> > PerlHandler Apache::RegistryFilter Apache::Dynagzip
> >
> > See the attached httpd.conf for full context etc.
> 
> Does this actually work without the filitering?  I see a use of
> ScriptAlias in there, which usually sets mod-cgi and breaks mod_perl for
> that directory.

Yep, it runs fine. $ENV{'mod_perl'} is true.

http://perl.apache.org/docs/1.0/guide/config.html#Alias_Configurations
> 
> > Attached is my httpd.conf and a script test.cgi which reproduces the
> > problem I'm having. I'm using Apache/1.3.33 with mod_perl statically
> > linked.
> 
> This script should not need to call register_filter at all, since it's
> using Apache::RegistryFilter.

Apparently, if I don't call register_filter, then my script isn't
registered in the filter chain and Dynagzip then can't see my headers,
and it adds its own.

This would seem to be the case - if I comment out the $r =
$r->filter_register; line, I get this:

[root@server2 root]# (echo "GET /cgi-bin/test.cgi HTTP/1.1"; echo
"Host: 192.168.1.3"; echo) | nc 192.168.1.3 80
HTTP/1.1 200 OK
Date: Mon, 31 Jan 2005 23:03:52 GMT
Server: Apache/1.3.33 (Unix) mod_perl/1.29
X-Module-Sender: Apache::Dynagzip
Expires: Monday, 31-January-2005 23:08:52 GMT
Transfer-Encoding: chunked
Connection: close
Content-Type: text/html

ad
Content-type: text/html

<h1>Lorem Ipsum</h1>

<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
Suspendisse fringilla porttitor mi....</p>


0


The first Content-Type: text/html header is from Dynagzip, the second
one is the one from my script. The error log repors

[Mon Jan 31 23:03:52 2005] [debug]
/usr/lib/perl5/site_perl/5.8.3/Apache/Dynagzip.pm(917): [client
192.168.1.3] Apache::Dynagzip default_content_handler creates default
Content-Type for GET /cgi-bin/test.cgi HTTP/1.1


Regards,


-- Alex

Re: Barrier to implementing web content compression in mod_perl
Alex Greg 23:06 on 31 Jan 2005

Generated at 12:39 on 05 Feb 2005 by mariachi v0.52