On Thu, Jun 9, 2011 at 12:12 PM, Brian E. Lozier <brian@massassi.com> wrote:
On Thu, Jun 9, 2011 at 12:11 PM, David Precious <davidp@preshweb.co.uk> wrote:
[CC'd list back in] On Thursday 09 June 2011 20:02:27 Brian E. Lozier wrote:
I'm using Dancer-1.3051. Did you try it under plackup?
Yeah, I tried it both by running bin/app.pl directly, and starting it by running plackup bin/app.pl - both worked.
I will try to repro it with a scaffolded app. In my app I have one before filter, one before_template filter, one after template filter.
My mistake, I have one before filter, one before_template filter and one after filter (not after template).
Well I tracked down one bug that turns out may be a documentation bug. I haven't had time to look really really carefully but I was able to reproduce a crash when just starting app.pl if the "hook" syntax is wrong. The docs say you can do this: hook before_template sub { # do something }; But you really need to do it like this: hook before_template => sub { # do something }; A bunch of the hook documentation is broken, here's a pasted portion that shows the error in the docs multiple times. I'm still trying to find out the root cause of my original issue (which is why I tried using the "hook" syntax instead of declaring the before_template directly). before This is an alias to before. This hook receives no arguments. before sub { ... }; is equivalent to hook before sub { ... }; before_template_render This is an alias to 'before_template'. This hook receives as argument a HashRef, containing the tokens. hook before_template_render sub { my $tokens = shift; delete $tokens->{user}; }; is equivalent to hook before_template sub { my $tokens = shift; delete $tokens->{user}; };
Ah, OK - I'll add a before handler and an after_template to my test case and see if that changes anything.
It's odd that the first request works and every subsequent ones don't work.
Indeed. I suspect it's something like a side-effect of what one of the handlers returned being inadvertently set, or something.
-- David Precious ("bigpresh") http://www.preshweb.co.uk/
"Programming is like sex. One mistake and you have to support it for the rest of your life". (Michael Sinz)