I use a PerlOutputFilter in my Apache. It seems that some response-handlers don't set the $f->seen_eos field.
It works for local HTML-pages and the "server-status" handler. It doesn't work for Pages that come through the standard-proxy-module, the standard PerlResponseHander Apache2::Status and the "server-info" handler. My Server-Config (partially): ---------------------------- <Location /server-status> SetHandler server-status </Location> <Location /server-info> SetHandler server-info </Location> <Location /perl-status> SetHandler perl-script PerlResponseHandler Apache2::Status PerlSetVar StatINCDebug On </Location> PerlOutputFilterHandler Apache::DynLayoutFilter and my handler: -------------- package Apache::DynLayoutFilter; use strict; use warnings; use Apache2::Const qw(:common); use Apache2::Filter (); use Apache2::Log (); use Apache2::RequestRec (); use Apache2::ServerUtil; use APR::Table (); sub handler { my $f = shift; unless ($f->ctx) { $f->r->headers_out->unset('Content-Length'); $f->ctx(1); } my $r = $f->r; while ($f->read(my $buffer, 64)) { $r->log->debug ("read-parser: <<$buffer>>"); $r->log->debug ("eos-parser: ", $f->seen_eos); $buffer = uc $buffer; $f->print($buffer); } return Apache2::Const::OK; } ----------------------------------- $f->seen_eos does never return 1 at proxy-requests, perl-status and server-info! Server Version: Apache/2.2.2 Embedded Perl version v5.8.8 for Apache/2.2.2 mod_perl version: 2.0.2 Peter