We solved it by manually checking in is_ajax if the unparsed raw env
variable exists. This fix will be available in the next release.

I think your solution is better: parsing the headers at the proper time.

Would you be so kind as to provide a patch? I would really appreciate it!

On Mon, Jan 30, 2012 at 12:13 AM, Oliver Gorwits <[email protected]> wrote:

> > Unfortunately, the "ajax" route is not recognised and it gives me a 404
> >
> > However I find that when I add
> >
> > Dancer::Handler->init_request_headers($env); in the sub, the Ajax
> > route works fine. Dancer::Handler docs are not available and I need to
> > understand why this works
> >
> > Would appreciate if someone could explain
>
> Routes configured with the Ajax Plugin's "ajax" helper will only match
> when the "X-Requested-With" HTTP Header is present and has the value
> "XMLHttpRequest" (i.e. it's an AJAX request).
>
> You can see this in the app's console log... the route appears to be found
> successfully but then is  rejected because of the missing X-Requested-With
> HTTP Header. Another way to see the problem is to configure a 'before'
> hook sub which calls Data::Dumper::Dumper on Dancer's request() object -
> you'll see the HTTP Headers value is undef.
>
> By adding the init_request_headers() call you're fixing this problem, and
> the Headers are correctly parsed and made available to Dancer's request
> object, so your route is now accepted.
>
> I hope that makes sense,
>
> regards,
> oliver.
>
> _______________________________________________
> Dancer-users mailing list
> [email protected]
> http://www.backup-manager.org/cgi-bin/listinfo/dancer-users
>
_______________________________________________
Dancer-users mailing list
[email protected]
http://www.backup-manager.org/cgi-bin/listinfo/dancer-users

Reply via email to