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
