[dancer-users] Tiny problem with sessions in a Dancer2 plugin
Cymon
cymon.ML at gmail.com
Thu Oct 3 23:44:21 BST 2013
I wrote a code similar to yours and it works for me.
Here the routes:
package Test;
use Dancer2;
use Dancer2::Plugin::Dummy;
get '/' => sub {
if (not defined(session->read('user'))) {
return "No user"
}
else
{
return "User is here"
}
};
1;
Here the dummy plugin:
package Dancer2::Plugin::Dummy;
use Dancer2::Plugin;
on_plugin_import {
my $dsl = shift;
my $controller = sub { $dsl->session(user => "Yippikiayeeeh");
return "You have a user now!"};
$dsl->any(['get'] => '/populate/session', $controller); };
register_plugin for_versions => [ 2 ];
If I go to populate/session and the on the home I can see user
populated.
What kind of session manager are you using? Are you sure it's working
well?
Cymon
http://perlishscrewdriver.blogspot.it/
Il giorno Fri, 4 Oct 2013 00:36:23 +0530
"Gideon D'souza" <gidisrael at gmail.com> ha scritto:
> Tried it, It still goes into a redirect loop because the session is
> always undef the sub for "/".
>
> :( I'd really appreciate anyone just peeing into this!
>
>
> On Tue, Oct 1, 2013 at 4:48 AM, Slavik Goltser <slavikg at gmail.com>
> wrote:
>
> > Doesn't that get ignored in Dancer2?
> >
> >
> > On Mon, Sep 30, 2013 at 6:51 PM, Cymon <cymon.ML at gmail.com> wrote:
> >
> >> Hi,
> >> i tried your code.
> >>
> >> Did you remember to add:
> >>
> >> register_plugin for_versions => [ 2 ];
> >>
> >> at the end of the plugin?
> >> It will not work without this.
> >>
> >> Cymon
> >> http://perlishscrewdriver.blogspot.it/
> >>
> >> Il giorno Sun, 29 Sep 2013 22:55:05 +0530
> >> "Gideon D'souza" <gidisrael at gmail.com> ha scritto:
> >>
> >> > Thank you very much for your time.
> >> >
> >> > I tried it. No luck still.
> >> >
> >> > If I may bother you so:
> >> >
> >> > on_plugin_import {
> >> > my $dsl = shift;
> >> > my $controller = sub { ...; ...; $dsl->session(user =>
> >> > $some_json);} $dsl->any(['get'] => '/your/path', $controller);
> >> > }
> >> >
> >> > in app that uses this plugin:
> >> >
> >> > get '/' => sub {
> >> >
> >> > if (not defined(session->read('user'))) {
> >> > ######
> >> > #session->Read('user') is always undef!!!
> >> > ######
> >> > return redirect auth_github_authenticate_url;
> >> > }
> >> > };
> >> >
> >> > Any clues here?
> >> >
> >> >
> >> > On Sun, Sep 29, 2013 at 6:49 PM, Cymon <cymon.ML at gmail.com>
> >> > wrote:
> >> >
> >> > >
> >> > > >
> >> > > > Is there a way to add routes inside a plugin, on init or
> >> > > > something like that? Or perhaps it's something else I've
> >> > > > missed?
> >> > > >
> >> > > > Any reply or pointers appreciated.
> >> > >
> >> > > Hi,
> >> > > I have no time to try your code now and help you with your
> >> > > issue, but I can answer this.
> >> > >
> >> > > To add routes inside a plugin just define the on_plugin_import
> >> > > sub in your plugin package as this.
> >> > >
> >> > > on_plugin_import {
> >> > > my $dsl = shift;
> >> > > my $controller = sub { ...do things ... }
> >> > > $dsl->any(['get'] => '/your/path', $controller);
> >> > > }
> >> > >
> >> > >
> >> > > --
> >> > > Cymon
> >> > > http://perlishscrewdriver.blogspot.it/
> >> > > _______________________________________________
> >> > > dancer-users mailing list
> >> > > dancer-users at dancer.pm
> >> > > http://lists.preshweb.co.uk/mailman/listinfo/dancer-users
> >> > >
> >>
> >>
> >> --
> >> Cymon
> >> Coniglio domina,
> >> http://www.therabbit.it
> >> _______________________________________________
> >> dancer-users mailing list
> >> dancer-users at dancer.pm
> >> http://lists.preshweb.co.uk/mailman/listinfo/dancer-users
> >>
> >
> >
> > _______________________________________________
> > dancer-users mailing list
> > dancer-users at dancer.pm
> > http://lists.preshweb.co.uk/mailman/listinfo/dancer-users
> >
> >
--
Cymon
Coniglio domina,
http://www.therabbit.it
More information about the dancer-users
mailing list