Omezení trasy pomocí flagů
Flagy začínají @ a jdou za URL. Trasa odpovídá, jen když požadavek splňuje všechny její flagy; jinak Total.js zkusí další trasu pro stejnou URL a odpoví 404, když nesedí žádná. Užitečné flagy:
@jsona@xml: tělo musí být JSON nebo XML@xhr: požadavek musí být AJAX (hlavičkax-requested-with)@upload: tělo musí býtmultipart/form-data@debuga@release: trasa existuje jen v tomto režimu@mobilea@robot: klient je mobilní prohlížeč nebo 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' });
}Nikdy nemíchej trasu s flagy a trasu bez flagů na stejné URL: ta bez flagů se kontroluje první a vezme všechny požadavky, takže trasa s flagy se nikdy nedosáhne.