Hi,
I've been trying for most of the evening to get Apache::Dynagzip working with Apache::Registry. I've gotten to the point whereby it works fine (compresses the content or not depending on the browser), but it sets the default Content-Type to text/html and disregards the headers I send from my script. The code below produces the following when called from a non-gzip browser: #!/usr/local/bin/perl use strict; my $r = Apache->request; my $var; open(FILE, "text.txt"); while (<FILE>) { $var .= $_; } close(FILE); $r->content_type("text/plain"); $r->send_http_header; print $var; Response: Date: Fri, 24 Dec 2004 23:22:57 GMT Server: Apache X-Module-Sender: Apache::Dynagzip Expires: Friday, 24-December-2004 23:27:57 GMT Transfer-Encoding: chunked Connection: close Content-Type: text/html 213c Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut tempor bibendum ante. Donec rutrum. Cras semper neque in tellus. Pellentesque blandit magna in nisl. Quisque dignissim cursus ligula. Curabitur augue nunc, varius in, faucibus ac, ultrices quis, nisl..... Note that Apache::Dynagzip is setting the header to the default text/html even though I have explicitly set it to text/plain. The following debug is from the error log: [Fri Dec 24 23:29:10 2004] [info] [client 192.168.1.6] Apache::Dynagzip default_content_handler is serving the main request for GET /cgi-bin/blah.cgi HTTP/1.1 targeting /www/cgi-bin/blah.cgi via /cgi-bin/blah.cgi Light Compression is Off. Source comes from Filter Chain. The client does not accept GZIP. [Fri Dec 24 23:29:10 2004] [info] [client 192.168.1.6] Apache::Dynagzip default_content_handler no gzip for GET /cgi-bin/blah.cgi HTTP/1.1 min_chunk_size=8192 [Fri Dec 24 23:29:10 2004] [debug] /usr/lib/perl5/site_perl/5.8.3/Apache/Dynagzip.pm(917): [client 192.168.1.6] Apache::Dynagzip default_content_handler creates default Content-Type for GET /cgi-bin/blah.cgi HTTP/1.1 [Fri Dec 24 23:29:10 2004] [info] [client 192.168.1.6] Apache::Dynagzip default_content_handler is done OK for /www/cgi-bin/blah.cgi 40172 bytes sent What's even stranger is when I use the same check that Dynagzip uses to see if the Content-Type is set, it fails. Appending this to my script: if ($r->header_out("Content-type")) { warn "Headers sent OK"; } else { warn "Headers NOT sent OK"; } Results in the following in the error log: Headers NOT sent OK at /www/cgi-bin/blah.cgi line 29. My Apache configuration is as follows: <Directory "/www/cgi-bin"> SetHandler perl-script PerlHandler Apache::RegistryFilter Apache::Dynagzip PerlSetVar Filter On PerlSendHeader Off PerlSetupEnv On AllowOverride AuthConfig Options +ExecCGI </Directory> Any advice on this would be much appreciated, as I have been banging my head against it all evening! -- Alex -- Report problems: http://perl.apache.org/bugs/ Mail list info: http://perl.apache.org/maillist/modperl.html List etiquette: http://perl.apache.org/maillist/email-etiquette.html