perl-modperl mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "jk jk" <jk.lists.questi...@gmail.com>
Subject Re: Problem with RequestRec and Headers
Date Mon, 24 Sep 2007 15:05:37 GMT
Ended up modifying his Apache::Singleton::Request module to work with my
app.  Was really just a matter of getting rid of the MP1 code and changing
the requestutils to requestrecs.  In any case, everything finally works ( I
think ).  Thanks for all the help.  I really appreciate it. --JAK

On 9/24/07, bharanee rathna <deepfryed@gmail.com> wrote:
>
> Yep, that's a bug
>
> perldoc Apache2::RequestUtil
>
>   # get the global request object (requires PerlOptions +GlobalRequest)
>   $r = Apache2::RequestUtil->request;
>
> which means u need GlobalRequest in apache config, which I'm not a big fan
> of. Better raise a bug in cpan rt for this module and get Tatsuhiko to fix
> it. By the looks of it, this hasn't been updated in a while.
>
> personally I don't really see a need for Apache::Singleton::Process unless
> there needs to be a module for consistency in Apache:: namespace,
> class::singleton does pretty much the same job. If you need a per-request
> singleton meanwhile,  cookup something quickly of your own that uses apache
> pnotes to store the instance
>
> perldoc Apache2::RequestRec
>
>
>
> On 9/24/07, jk jk <jk.lists.questions@gmail.com> wrote:
> >
> > I looked at the source.  It does seem to be written for both.  My
> > understanding was that everything for apache2 was supposed to be in the
> > Apach2:: namespace.  In any case I posted the install error below.  Does an
> > environment variable need to be set?
> >
> >
> > perl Makefile.PL
> > Warning: prerequisite mod_perl 0 not found.
> > Writing Makefile for Apache::Singleton
> >
> > If I install it anyway I get "[Sun Sep 23 15:09:49 2007] [error] Can't
> > locate Apache/RequestUtil.pm in @INC (@INC contains:......"
> >
> > Thanks. --JAK
> >
> > On 9/23/07, bharanee rathna < deepfryed@gmail.com> wrote:
> > >
> > > AFAIK Apache::Singleton works for MP2, also it does both per request
> > > and per process singletons.
> > >
> > >
> > > On 9/24/07, jk jk < jk.lists.questions@gmail.com> wrote:
> > > >
> > > > I've been trying to use Apache::Singleton::Request under the
> > > > assumption that you're right about Class::Singleton being the crux of
the
> > > > issue.  Unfortunately, I can't get it working under Apache2.  Is there
a
> > > > different module for mp2/apache2 ?  Thanks for your patience. --JAK
> > > >
> > > > On 9/23/07, jk jk <jk.lists.questions@gmail.com > wrote:
> > > > >
> > > > > Why is that?  Class::Singleton is modperl compatible,
> > > > > Apache::Singleton is the same thing with a few more features.  Its
purpose
> > > > > to simplify singleton application creation.  My understanding was
it would
> > > > > only allow a single instance of the object to be created for each
request,
> > > > > not forever.  Please explain your reasoning.  Thanks. --JAK
> > > > >
> > > > > On 9/23/07, Philippe M. Chiasson < gozer@ectoplasm.org> wrote:
> > > > > >
> > > > > > jk jk wrote:
> > > > > > > I'm trying to port a preexisting CGI app to mod_perl2 and
> > > > > > could use some
> > > > > > > help.
> > > > > > >
> > > > > > > Here goes a test case that should illustrate my problem:
> > > > > > >
> > > > > > > The code pasted below loads the page properly the first
time
> > > > > > it's
> > > > > > > accessed.  However, upon multiple reloads in firefox, the
> > > > > > headers either
> > > > > > > disappear altogether or the page is downloaded in the download
> > > > > > manager.
> > > > > > > I assume this is because the wrong $r object is being accessed
> > > > > > by the
> > > > > > > request?  In any case, I'm at a loss and would really
> > > > > > appreciate some
> > > > > > > input.  Thanks in advance.
> > > > > > > [...]
> > > > > > >
> > > > > > > =============
> > > > > > > File: testme/testmod.pm
> > > > > > > =============
> > > > > > >
> > > > > > > package testme::testmod;
> > > > > > >
> > > > > > > use Apache2::RequestUtil;
> > > > > > > use strict;
> > > > > > >
> > > > > > > use base qw /Class::Singleton/;
> > > > > >
> > > > > > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> > > > > >
> > > > > > From the documentation of Class::Singleton:
> > > > > >
> > > > > > # this only gets called the first time instance() is called
> > > > > >
> > > > > > > sub _new_instance{
> > > > > > >
> > > > > > >     my ( $class, $r ) = @_;
> > > > > > >
> > > > > > >     my $self = {};
> > > > > > >
> > > > > > >     bless $self, $class;
> > > > > > >
> > > > > > >     $self->{r} = $r;
> > > > > > >
> > > > > > >     return ( $self );
> > > > > > >
> > > > > > > }
> > > > > >
> > > > > > So effectively, your code will capture the $r (once for each
> > > > > > child)
> > > > > > from the first request and keep it forever. Trying to use it
for
> > > > > > subsequent
> > > > > > requests will cause the kind of problems you've seen.
> > > > > >
> > > > > >
> > > > > > ------------------------------------------------------------------------
> > > > > > Philippe M. Chiasson     GPG: F9BFE0C2480E7680 1AE53631CB32A107
> > > > > > 88C3A5A5
> > > > > > http://gozer.ectoplasm.org/
> > > > > > m/gozer\@(apache|cpan|ectoplasm)\.org/
> > > > > >
> > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>

Mime
View raw message