On Thu, Apr 15, 2010 at 12:23 AM, Perrin Harkins <phark...@gmail.com> wrote:
> The subprocess_env info that Adam sent you should have worked. Can > you show us what you tried? Can you try it in a response handler to > make sure it's not an odd bug with filters? > > Hi Perrin, Thanks, subprocess_env works when just using a response handler. When used with a filter I get the following error message: ================================================================== [Thu Apr 15 11:47:34 2010] [error] [client 127.0.0.1] Can't locate object method "subprocess_env" via package "Apache2::Filter" at /opt/modperl//TE/ST.pm line 40.\n [Thu Apr 15 11:47:34 2010] [debug] core.c(3765): [client 127.0.0.1] (500)Unknown error 500: default_handler: ap_pass_brigade returned 500 [Thu Apr 15 11:47:34 2010] [error] [client 127.0.0.1] Can't locate object method "subprocess_env" via package "Apache2::Filter" at /opt/modperl//TE/ST.pm line 40.\n ================================================================== Can I test the script to use Apache2:RequestRec for the subprocess_env? The source of the package is as follows: ================================================================== package TE::ST; use strict; use warnings; use Apache2::Filter (); use Apache2::RequestRec (); use Apache2::RequestIO (); use APR::Table (); BEGIN { push @INC, "/opt/modperl/"; } use Apache2::Const -compile => qw(OK); use constant BUFF_LEN => 1024; sub handler { my $f = shift; $f->subprocess_env; my $envar = $ENV{TE}; unless ($f->ctx) { while ($f->read(my $buffer, BUFF_LEN)) { $buffer =~ s/It/Chris/g; $buffer .= "[" . $envar . "]"; $f->print($buffer); } return Apache2::Const::OK; } } 1; ================================================================== Finally, the TE Apache environment variable is set in the virtual host config via: SetEnv TE TEST Thanks, - Chris