sub handler { my $r = shift; my $q = new CGI($r); my @params = $q->param; $r->server->log->error("handler params are " . join "::", @params); return Apache::OK; }
logs the paramter names correctly if the request is a GET, but not if a POST. The same code works fine within an Apache::Registry script, which I assume will have the same behavior as a PerlResponseHandler. I also attempted both the x-www-form-urlencoded and multipart/form-data POST types and neither worked.
Am I missing something that mod_perl is not doing till the response phase, like setting up STDIN? I thought that this might have had something to do with an earlier thread (http://marc.theaimsgroup.com/?t=104992954600005&r=1&w=2), however I also tried adding:
$r->subprocess_env; Apache->request($r);
to the handler to no avail.
Thanks -Mike
Apache/2.0.44 (Gentoo/Linux) mod_perl/1.99_09 Perl/v5.8.0 CGI.pm/2.93
<Directory /home/*/public_html/protected> <FilesMatch "\.pl$"> AllowOverride None Options +ExecCGI
SetHandler perl-script PerlAuthenHandler Apache::MyAuth::handler AuthType Cookie AuthName MyPrivateStuff require valid-user
PerlResponseHandler ModPerl::Registry </FilesMatch> </Directory>