You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by Andrew Alakozow <aa...@mail.ru> on 2003/03/21 12:02:55 UTC

Apache::Request: analyse output.

Hello,

I use Apache::FakeRequest to test perl handlers without firing up Apache.
Testting is supposed to be done by matching output of handlers with some
regexps.  But the print method of Apache::Request prints to STDOUT, so to
get output I applied following patch to it:

10c10,17
< sub print { shift; CORE::print(@_) }
---
> sub print {
>  my $self = shift;
>
>  if (exists $$self{fr_output}) {
>   $$self{fr_output} .= join ('', @_);
>  } else { CORE::print(@_) }
>
> }

Now, if fr_output "method" is defined all output comes there.

my $request = Apache::FakeRequest->new(fr_output => '', ...);

If it's "right thing" may be this patch should go to CPAN, and if it's not
"right", I'll be glad to hear how to do it right.

Thanks.

aa29


Re: Apache::Request: analyse output.

Posted by Stas Bekman <st...@stason.org>.
Andrew Alakozow wrote:
> Hello,
> 
> I use Apache::FakeRequest to test perl handlers without firing up Apache.
> Testting is supposed to be done by matching output of handlers with some
> regexps.  But the print method of Apache::Request prints to STDOUT, so to
> get output I applied following patch to it:
> 
> 10c10,17
> < sub print { shift; CORE::print(@_) }
> ---
> 
>>sub print {
>> my $self = shift;
>>
>> if (exists $$self{fr_output}) {
>>  $$self{fr_output} .= join ('', @_);
>> } else { CORE::print(@_) }
>>
>>}
> 
> 
> Now, if fr_output "method" is defined all output comes there.
> 
> my $request = Apache::FakeRequest->new(fr_output => '', ...);
> 
> If it's "right thing" may be this patch should go to CPAN, and if it's not
> "right", I'll be glad to hear how to do it right.

You can use IO::String for this purpose:
http://perl.apache.org/docs/1.0/guide/porting.html#Redirecting_STDOUT_into_a_Scalar

__________________________________________________________________
Stas Bekman            JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/     mod_perl Guide ---> http://perl.apache.org
mailto:stas@stason.org http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com