http://qs321.pair.com?node_id=743867


in reply to Re^2: CGI::App session params losing values between redirects
in thread CGI::App session params losing values between redirects

What's up with the -domain stuff? I think that could be your problem. Try removing it or replacing it with something static. Also, check that the clock on your webserver isn't more than 8h off (I've seen it happen!) since you're setting a pretty short expiration.

Are you sure you don't have a cgiapp_init() defined in one of your sub-classes? Maybe add a warn() in the super class one and see that it actually prints when you run both sub-classes.

-sam

Replies are listed 'Best First'.
Re^4: CGI::App session params losing values between redirects
by bradcathey (Prior) on Feb 15, 2009 at 13:53 UTC

    Thanks Sam.

    Two questions:

    1. What would something "static" look like for -domain or should I just kill the attribute?
    2. Dumb question of the day: so in any given instance, I can only have one cgiapp_init? I.e., one in my working module and one in the Super will overwrite each other? Makes perfect sense. Unfortunately, that's not what's happening here. But good to know. Duh!

    —Brad
    "The important work of moving the world forward does not wait to be done by perfect men." George Eliot
      1. ".foo.com" - static means a non-dynamic value, something fixed.

      2. You can have multiple, but have to call up the tree from your sub-class: $self->SUPER::cgiapp_init(). This is how inheritence works in Perl - if you override a base class method you have the option of calling it with SUPER::, or not. Often you need to put some thought into the right place to call it - before your sub-class does its thing or after. If they're both modifying the object's state this can be critical to getting it to do what you want.

      -sam