Restrângerea unei rute cu flag-uri
Flag-urile încep cu @ și merg după URL. O rută se potrivește doar când cererea satisface toate flag-urile ei; altfel Total.js încearcă următoarea rută pentru același URL și răspunde 404 dacă niciuna nu se potrivește. Flag-uri utile:
@jsonși@xml: body-ul trebuie să fie JSON sau XML@xhr: cererea trebuie să fie o cerere AJAX (antetulx-requested-with)@upload: body-ul trebuie să fiemultipart/form-data@debugși@release: ruta există doar în acel mod@mobileși@robot: clientul este un browser mobil sau un crawler
exports.install = function() {
ROUTE('POST /data/ @json', json_only);
ROUTE('POST /data/ @xml', xml_only);
// Careful: a route with flags has a lower priority than the same URL without flags
ROUTE('POST /mixed/ @json', json_only);
ROUTE('POST /mixed/', anything);
};
function json_only($) {
$.json({ handler: 'json' });
}
function xml_only($) {
$.json({ handler: 'xml' });
}
function anything($) {
$.json({ handler: 'anything' });
}Nu amesteca niciodată o rută cu flag-uri și o rută fără flag-uri pe același URL: cea fără flag-uri este verificată prima și preia toate cererile, deci ruta cu flag-uri nu este niciodată atinsă.