http://www.perlmonks.org?node_id=695819


in reply to Is it possible to have 2 CAP::Sessions?

Wow, thanks!

So, are we looking at something like:

$self->session_config( SESSION_NAME => 'SESSION_ID1', COOKIE_PARAMS => { -path => '/', }, SEND_COOKIE => 1, ); $self->session->param('user' => 'Barney'); $self->session_config( SESSION_NAME => 'SESSION_ID2', COOKIE_PARAMS => { -path => '/', }, SEND_COOKIE => 1, ); $self->session->param('user' => 'Fred');

And then to retrieve it later:

$self->session_config( SESSION_NAME => 'SESSION_ID1', ); my $user = $self->session->param('user'); $self->session_config( SESSION_NAME => 'SESSION_ID2', ); my $user = $self->session->param('user');

Two questions:
1. So CAP::Sessions won't complain about invoking session_config twice because I'm using the specific SESSION_NAME's?
2. How do I implement/install the patch on my server? (sorry, I'm not sure how all this works yet)

—Brad
"The important work of moving the world forward does not wait to be done by perfect men." George Eliot

Replies are listed 'Best First'.
Re^2: Is it possible to have 2 CAP::Sessions?
by friedo (Prior) on Jul 06, 2008 at 22:29 UTC

    1. So CAP::Sessions won't complain about invoking session_config twice because I'm using the specific SESSION_NAME's?

    That's the idea, yeah. Also make sure you pass a different -name to the COOKIE_PARAMS for each. If you do that, then both cookies will be set, as long as you do both calls to session_config.

    2. How do I implement/install the patch on my server? (sorry, I'm not sure how all this works yet)

    I don't recommend you use it for anything important since it's completely untested and I wrote it in a BBQ-induced stupor around 3AM. But if you really want to try it, download the CAP::Session tarball from CPAN, unpack it, and patch the files with the .diff attached to the RT ticket. Then use the Build.PL script as usual to build it. You might want to specify a prefix to install the module somewhere else so it doesn't overwrite your "real" install of CAP::Session.