RE: %ENV push_handlers

2001-06-27 Thread Geoffrey Young



 -Original Message-
 From: Terry Moran [mailto:[EMAIL PROTECTED]]
 Sent: Wednesday, June 27, 2001 3:39 PM
 To: [EMAIL PROTECTED]
 Subject: %ENV  push_handlers
 
 
 To all:
 
 I am putting together a site utilizing stacked handlers where the
 first of the modules uses the push_handlers call in order to 
 dynamically
 choose a processing module. This 'pushed' handler then goes about
 processing the request  filling up the %ENV with information for the
 next in the stack to use to produce the actual page. However, after a
 couple of hours of working with this set-up, I'm finding that 
 nformation
 that is placed in the %ENV hash during the 'pushed' handler's 
 processing
 stage are lost by the time the Templating module goes to look 
 for them.
 Can anyone confirm that they've seen this, or can someone 
 suggest a fix?
 I seem to be quite at a loss as to what to do...

since you are already using $r-push_handlers use $r-pnotes instead of
%ENV.

--Geoff
 



RE: %ENV push_handlers

2001-06-27 Thread Geoffrey Young

well, something isn't quite right... you aren't by chance using method
handlers are you?

at this point, you may want to post (some) code and/or the relevant snippet
from your httpd.conf.  

using push_handlers with pnotes has never been a problem for me

# from some handler somewhere
$r-pnotes(foo = 'bar');

$r-push_handlers(PerlCleanupHandler = sub {
  warn shift-pnotes('foo');
});

works no problemo...

--Geoff


-Original Message-
From: Terry Moran
To: Geoffrey Young
Sent: 6/27/01 7:57 PM
Subject: Re: %ENV  push_handlers

Geoff:

I really appreciate the help. I got a chance to play around some
more,
and it looks like this %ENV block is very specific to using
push_handlers,
and moreover that it's blocking pnotes  notes methods of the mod_perl
API
as well. I was thinking maybe it was a version thing, but I'm at
mod_perl
1.25, so that looks like it checks out. What I'm left with is getting a
work-around, and I have one. I'm just going to need to push_handler my
templating mod in order to give it the proper %ENV, or pnotes values (if
I
can find the time to translate into it that is, unfortunately an
important
part of design ;) ).
Anyhow, I get the feeling that push_handlers is somehow acting as a
subrequest - which would explain all of this. Not that I've found that
documented. I really appreciate the background on this - thanks!!!

Terry


Geoffrey Young wrote:

  sure...

  pnotes was documented after the eagle book was published, but it's my
 favorite method :)

  I dunno why %ENV is misbehaving - IIRC there were some reports in
older
 mod_perls, but I thought it was taken care of recently.

  at any rate, %ENV is a resource drain - you're better off with
pnotes.
 besides, they can hold references too, which makes life oh, so much
 better...

   my %hash;
   $r-pnotes(FOO = \%hash);

   my $href = $r-pnotes('FOO');

 --Geoff

 -Original Message-
 From: Terry Moran
 To: Geoffrey Young
 Sent: 6/27/01 3:51 PM
 Subject: Re: %ENV  push_handlers

 Geoff:

 Thanks so much for the fast response! My version of the Eagle Book
 doesn't even list that command, but it'll work like a charm. Just
leaves
 me wondering why %ENV jumps around like that...

 Thanks again!

 Terry

 Geoffrey Young wrote:

   -Original Message-
   From: Terry Moran [mailto:[EMAIL PROTECTED]]
   Sent: Wednesday, June 27, 2001 3:39 PM
   To: [EMAIL PROTECTED]
   Subject: %ENV  push_handlers
  
  
   To all:
  
   I am putting together a site utilizing stacked handlers where
 the
   first of the modules uses the push_handlers call in order to
   dynamically
   choose a processing module. This 'pushed' handler then goes about
   processing the request  filling up the %ENV with information for
 the
   next in the stack to use to produce the actual page. However,
after
 a
   couple of hours of working with this set-up, I'm finding that
   nformation
   that is placed in the %ENV hash during the 'pushed' handler's
   processing
   stage are lost by the time the Templating module goes to look
   for them.
   Can anyone confirm that they've seen this, or can someone
   suggest a fix?
   I seem to be quite at a loss as to what to do...
 
  since you are already using $r-push_handlers use $r-pnotes instead
 of
  %ENV.
 
  --Geoff