[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