Hello all,
I don't know whether I am completely stumped but I didn't get
Plack::Middleware::Session to work.
My simple PSGI script is as follow:
my $app = sub {
my $env = shift;
my $webapp = PLogPSGI->new( QUERY => CGI::PSGI->new($env),
[bla bla bla]
'env' => $env
}
);
$webapp->run_as_psgi();
};
builder {
enable 'Session';
$app;
};
and my PLogPSGI module looks for example in cgiapp_prerun as follows:
sub cgiapp_prerun {
my $self = shift;
my $current_runmode = shift;
# initialize the session
my $q =$self->query;
my $env = $q->env;
my $session = $env->{'psgix.session'};
# Check the Login Status and if the user is logged in, start
the chosen action
my $login = $session->get('login');
unless ($login) {
$self->prerun_mode('show_login') if ($current_runmode
ne 'login_cb');
}
}
I get the following error:
Error executing class callback in prerun stage: Can't call method
"get" on unblessed reference at /home/maximilian/public_html/cgi-
bin/./lib/PLogPSGI.pm line 63. at /home/maximilian/public_html/cgi-
bin/extlib/lib/perl5/CGI/Application.pm line 2449
If I comment out the cgiapp_prerun lines I can look at the PSGI hash
$env. $env->{'psgix.session'} is empty...
I saw Ron Savages introduction (
http://savage.net.au/Perl/html/session.management.with.plack.html )
But unfortunately it doesn't help me.
Thanks in advance,
Max
##### CGI::Application community mailing list ################
## ##
## To unsubscribe, or change your message delivery options, ##
## visit: http://www.erlbaum.net/mailman/listinfo/cgiapp ##
## ##
## Web archive: http://www.erlbaum.net/pipermail/cgiapp/ ##
## Wiki: http://cgiapp.erlbaum.net/ ##
## ##
################################################################