Tiny problem with sessions in a Dancer2 plugin
I would really really appreciate some help on this tiny problem I'm having. I'm porting my Github Authentication plugin into Dancer2, but for the life of my I can't get it to work and I've been stuck for days now on this. *Everything works*, but it's just the the session value that is set from within the plugin is undef inside the application. Here is the code narrowed down, the Plugin: https://gist.github.com/gideondsouza/6718246#file-dancer2_plugin_gh_auth-pl-... I set the session there, all works great. Now, the session is undef here in the app: https://gist.github.com/gideondsouza/6718224#file-test_github_plugin-pl-L14 Is it because I'm calling the init() method here and this method setups up a route? https://gist.github.com/gideondsouza/6718224#file-test_github_plugin-pl-L9 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. Gideon
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/
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@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@dancer.pm http://lists.preshweb.co.uk/mailman/listinfo/dancer-users
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@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@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@dancer.pm http://lists.preshweb.co.uk/mailman/listinfo/dancer-users
-- Cymon Coniglio domina, http://www.therabbit.it
Doesn't that get ignored in Dancer2? On Mon, Sep 30, 2013 at 6:51 PM, Cymon <cymon.ML@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@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@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@dancer.pm http://lists.preshweb.co.uk/mailman/listinfo/dancer-users
-- Cymon Coniglio domina, http://www.therabbit.it _______________________________________________ dancer-users mailing list dancer-users@dancer.pm http://lists.preshweb.co.uk/mailman/listinfo/dancer-users
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@gmail.com> wrote:
Doesn't that get ignored in Dancer2?
On Mon, Sep 30, 2013 at 6:51 PM, Cymon <cymon.ML@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@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@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@dancer.pm http://lists.preshweb.co.uk/mailman/listinfo/dancer-users
-- Cymon Coniglio domina, http://www.therabbit.it _______________________________________________ dancer-users mailing list dancer-users@dancer.pm http://lists.preshweb.co.uk/mailman/listinfo/dancer-users
_______________________________________________ dancer-users mailing list dancer-users@dancer.pm http://lists.preshweb.co.uk/mailman/listinfo/dancer-users
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@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@gmail.com> wrote:
Doesn't that get ignored in Dancer2?
On Mon, Sep 30, 2013 at 6:51 PM, Cymon <cymon.ML@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@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@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@dancer.pm http://lists.preshweb.co.uk/mailman/listinfo/dancer-users
-- Cymon Coniglio domina, http://www.therabbit.it _______________________________________________ dancer-users mailing list dancer-users@dancer.pm http://lists.preshweb.co.uk/mailman/listinfo/dancer-users
_______________________________________________ dancer-users mailing list dancer-users@dancer.pm http://lists.preshweb.co.uk/mailman/listinfo/dancer-users
-- Cymon Coniglio domina, http://www.therabbit.it
I found the source of the problem, and it still leaves me hanging. For some hideous reason, if I redirect after making the request for the users json data, the session is undef in the main application. However, if I don't redirect. Then goto the homepage from the browser, it accesses my session! :S my $jresp = $browser->get("https://api.github.com/user?access_token=$acc"); my $json = decode_json($jresp->decoded_content); $dsl->session(github_user => $json); #also tested by just setting a string instead of json! $dsl->session(github_access_token => $acc); return "done"; #This works fine! #but if I # return $dsl->redirect("/"); #it doesn't work ! And worst of all, if I take your code and do this: my $controller = sub { $dsl->session(user => "Yippikiayeeeh"); return $dsl->redirect("/");}; it works! but for me it doesn't me. The session goes undef. I tried it with a YAML backend and the default (simple session) On Fri, Oct 4, 2013 at 4:14 AM, Cymon <cymon.ML@gmail.com> wrote:
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@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@gmail.com> wrote:
Doesn't that get ignored in Dancer2?
On Mon, Sep 30, 2013 at 6:51 PM, Cymon <cymon.ML@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@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@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@dancer.pm http://lists.preshweb.co.uk/mailman/listinfo/dancer-users
-- Cymon Coniglio domina, http://www.therabbit.it _______________________________________________ dancer-users mailing list dancer-users@dancer.pm http://lists.preshweb.co.uk/mailman/listinfo/dancer-users
_______________________________________________ dancer-users mailing list dancer-users@dancer.pm http://lists.preshweb.co.uk/mailman/listinfo/dancer-users
-- Cymon Coniglio domina, http://www.therabbit.it _______________________________________________ dancer-users mailing list dancer-users@dancer.pm http://lists.preshweb.co.uk/mailman/listinfo/dancer-users
Hi, what Dancer2 version are you using? I think I found a bug in the last master branch. In it, redirected response are configured with halted status (Dancer2/Core/Context.pm, line 181. this is the commit: https://github.com/PerlDancer/Dancer2/commit/74528623aa5ff2738dd319cf70639e0...). Problem is that in the dispatcher halted responses don't trigger the after_request hook. Session flush, in App.pm, is configured to happen on an after_request hook, so I think this is the reason your code fails. Has anyone an idea about how to solve this? I'll try to think about it too, but at the moment I have no solution... Gideon, if you want to go on with your app you can use this dark dark dark dark magic: my $controller = sub { $dsl->session(user => "Yippikiayeeeh"); my $redir = $dsl->redirect("/"); $dsl->context->response->is_halted(0); return $redir; }; Obviously is a dirty workaround, I don't know all the side effects of this. Cymon http://perlishscrewdriver.blogspot.it/ Il giorno Fri, 4 Oct 2013 20:55:05 +0530 "Gideon D'souza" <gidisrael@gmail.com> ha scritto:
I found the source of the problem, and it still leaves me hanging.
For some hideous reason, if I redirect after making the request for the users json data, the session is undef in the main application. However, if I don't redirect. Then goto the homepage from the browser, it accesses my session! :S
my $jresp = $browser->get("https://api.github.com/user?access_token=$acc"); my $json = decode_json($jresp->decoded_content); $dsl->session(github_user => $json); #also tested by just setting a string instead of json! $dsl->session(github_access_token => $acc); return "done"; #This works fine! #but if I # return $dsl->redirect("/"); #it doesn't work !
And worst of all, if I take your code and do this:
my $controller = sub { $dsl->session(user => "Yippikiayeeeh"); return $dsl->redirect("/");};
it works! but for me it doesn't me. The session goes undef.
I tried it with a YAML backend and the default (simple session)
On Fri, Oct 4, 2013 at 4:14 AM, Cymon <cymon.ML@gmail.com> wrote:
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@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@gmail.com> wrote:
Doesn't that get ignored in Dancer2?
On Mon, Sep 30, 2013 at 6:51 PM, Cymon <cymon.ML@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@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@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@dancer.pm > http://lists.preshweb.co.uk/mailman/listinfo/dancer-users >
-- Cymon Coniglio domina, http://www.therabbit.it _______________________________________________ dancer-users mailing list dancer-users@dancer.pm http://lists.preshweb.co.uk/mailman/listinfo/dancer-users
_______________________________________________ dancer-users mailing list dancer-users@dancer.pm http://lists.preshweb.co.uk/mailman/listinfo/dancer-users
-- Cymon Coniglio domina, http://www.therabbit.it _______________________________________________ dancer-users mailing list dancer-users@dancer.pm http://lists.preshweb.co.uk/mailman/listinfo/dancer-users
-- Cymon Coniglio domina, http://www.therabbit.it
Hi, Have you looked at https://github.com/PerlDancer/Dancer2/issues/432 ? I think this is the same issue. Bye, On Fri, Oct 4, 2013 at 11:29 PM, Cymon <cymon.ML@gmail.com> wrote:
Hi, what Dancer2 version are you using?
I think I found a bug in the last master branch.
In it, redirected response are configured with halted status (Dancer2/Core/Context.pm, line 181. this is the commit:
https://github.com/PerlDancer/Dancer2/commit/74528623aa5ff2738dd319cf70639e0... ). Problem is that in the dispatcher halted responses don't trigger the after_request hook. Session flush, in App.pm, is configured to happen on an after_request hook, so I think this is the reason your code fails.
Has anyone an idea about how to solve this? I'll try to think about it too, but at the moment I have no solution...
Gideon, if you want to go on with your app you can use this dark dark dark dark magic:
my $controller = sub { $dsl->session(user => "Yippikiayeeeh"); my $redir = $dsl->redirect("/"); $dsl->context->response->is_halted(0); return $redir; };
Obviously is a dirty workaround, I don't know all the side effects of this.
Cymon http://perlishscrewdriver.blogspot.it/
Il giorno Fri, 4 Oct 2013 20:55:05 +0530 "Gideon D'souza" <gidisrael@gmail.com> ha scritto:
I found the source of the problem, and it still leaves me hanging.
For some hideous reason, if I redirect after making the request for the users json data, the session is undef in the main application. However, if I don't redirect. Then goto the homepage from the browser, it accesses my session! :S
my $jresp = $browser->get("https://api.github.com/user?access_token=$acc"); my $json = decode_json($jresp->decoded_content); $dsl->session(github_user => $json); #also tested by just setting a string instead of json! $dsl->session(github_access_token => $acc); return "done"; #This works fine! #but if I # return $dsl->redirect("/"); #it doesn't work !
And worst of all, if I take your code and do this:
my $controller = sub { $dsl->session(user => "Yippikiayeeeh"); return $dsl->redirect("/");};
it works! but for me it doesn't me. The session goes undef.
I tried it with a YAML backend and the default (simple session)
On Fri, Oct 4, 2013 at 4:14 AM, Cymon <cymon.ML@gmail.com> wrote:
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@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@gmail.com> wrote:
Doesn't that get ignored in Dancer2?
On Mon, Sep 30, 2013 at 6:51 PM, Cymon <cymon.ML@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@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@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@dancer.pm > > http://lists.preshweb.co.uk/mailman/listinfo/dancer-users > >
-- Cymon Coniglio domina, http://www.therabbit.it _______________________________________________ dancer-users mailing list dancer-users@dancer.pm http://lists.preshweb.co.uk/mailman/listinfo/dancer-users
_______________________________________________ dancer-users mailing list dancer-users@dancer.pm http://lists.preshweb.co.uk/mailman/listinfo/dancer-users
-- Cymon Coniglio domina, http://www.therabbit.it _______________________________________________ dancer-users mailing list dancer-users@dancer.pm http://lists.preshweb.co.uk/mailman/listinfo/dancer-users
-- Cymon Coniglio domina, http://www.therabbit.it _______________________________________________ dancer-users mailing list dancer-users@dancer.pm http://lists.preshweb.co.uk/mailman/listinfo/dancer-users
-- Pedro Melo @pedromelo http://www.simplicidade.org/ xmpp:melo@simplicidade.org mailto:melo@simplicidade.org
participants (4)
-
Cymon -
Gideon D'souza -
Pedro Melo -
Slavik Goltser