Dear Rhesa, Thank you very much. This really helped me very much. Nevertheless it is curious that a manual creation of Plack::Session is necessary. I will post because of that a report to the Plack::Middlewares::Session team the next weeks. Perhaps they know why $env->{'psgix.session'} is not created automatically.
Best wishes and again thank you very very much, Max Am Montag, den 28.11.2016, 14:52 +0100 schrieb Rhesa Rozendaal: > Hi Max, > > I have a method in my app that creates a plack session like so: > > use Plack::Session; > sub session { > my $self = shift; > $self->{__my_plack_session} ||= Plack::Session->new($self->query- > > env) > } > > > I can then use it like this: > > $self->session->get('login'); > > Hope that helps, > > Rhesa > > On 11/27/2016 11:27 PM, max.augsburg@gmx.dewrote: > > 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/ ## > > ## ## > > ################################################################ > > > > > > > ##### 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/ ## ## > ## > ################################################################ ##### 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/ ## ## ## ################################################################