[dancer-users] Before Hook hit multiple times.

Puneet Kishor punk.kish at gmail.com
Wed Jan 2 22:35:43 GMT 2013


On Jan 2, 2013, at 2:27 PM, David Golden <xdg at xdg.me> wrote:

> On Wed, Jan 2, 2013 at 5:16 PM, Rick Bragg <rbragg at gmnet.net> wrote:
>> hooks and routes are called once in the application flow.  Do I really have to
>> program around this taking into consideration the number of times the before hook
>> is called on each page?
> 
> HTTP is stateless.  The client can make as many requests as it likes
> and your Dancer app will see them as separate requests.
> 
> The 'before' hook fires for every request.  If you want to limit a
> hook to particular routes, you have to write that logic yourself in
> the hook subroutine or else wrap the route handlers instead of using a
> before hook.

While the above explanation makes sense, and understanding it can lead to designing applications better, my gut feeling is with Rick. If I create a 'before' hook, I want it normally to fire once everything the human user makes a request even though under the scene the browser is making multiple requests. In other words, the current behavior seems to be against the DWIM nature that I would expect. 

Dancer being the new, easy way of developing apps, should perhaps have two kinds of hooks -- one that behaves the current way, and another that fires the way Rick, myself, and I suspect many other Dancer users expect it to behave, that is, once per human user request.


--
Puneet Kishor


More information about the dancer-users mailing list