Re: $r vs. Apache2::RequestUtil->request

Charlie Katz <[email protected]>
Newsgroups gmane.comp.apache.mod-perl
Message-ID <CAC1kbLAk8E1CNTw-tiJOwy5BC87X+F1PX+0LGPdRV+WCLNB8=Q@mail.gmail.com>
Okay, never mind.  The Apache2::Log methods are in fact working for me.
 Stupid error.

I am still curious about the difference between the Apache2::Request object
which is the default request record accessor, and the Apache2::RequestRec
object which comes out of Apache2::RequestUtil::request.


On Tue, Oct 25, 2011 at 1:43 PM, Charlie Katz <[email protected]> wrote:

> Hi, I'm confused about something.  I am cleaning up some legacy Perl code
> in our application, and I find a number of our custom Perl modules have
> functions which require $r be passed to them solely for use in logging (e.g.
> $r->log->error()). I want to remove that requirement, so I am changing
> things around so that the code uses Apache2::RequestUtil::request to get the
> request object when needed.  This is working fine, except when I use the
> object retrieved that way, the $r->log methods fail to write to the server
> log.   In addition, I see that the original $r and the new one from
> A::RU::request are different:
>
> use Data::Dumper;
> print STDERR Dumper($r);
> print STDERR Dumper(Apache2::RequestUtil->request);
>
> yields
>
> $VAR1 = bless( do{\(my $o = 158143776)}, 'Apache2::Request' );
> $VAR1 = bless( do{\(my $o = 158116376)}, 'Apache2::RequestRec' );
>
> Can someone help me understand this difference, and how to use the object
> retrieved from A::RU::request to access the Apache2::Log methods?  Why isn't
> the original $r an Apache2::RequestRec object?
>
> This is Perl 5.14.2, mod_perl 2.0.5
>
> Thanks.
>
> Charlie Katz
>
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.