Περιορισμός μιας διαδρομής με flags
Τα flags ξεκινούν με @ και μπαίνουν μετά το URL. Μια διαδρομή ταιριάζει μόνο όταν το αίτημα ικανοποιεί όλα τα flags της· αλλιώς το Total.js δοκιμάζει την επόμενη διαδρομή για το ίδιο URL και απαντά 404 όταν καμία δεν ταιριάζει. Χρήσιμα flags:
@jsonκαι@xml: το body πρέπει να είναι JSON ή XML@xhr: το αίτημα πρέπει να είναι αίτημα AJAX (headerx-requested-with)@upload: το body πρέπει να είναιmultipart/form-data@debugκαι@release: η διαδρομή υπάρχει μόνο σε αυτή τη λειτουργία@mobileκαι@robot: ο client είναι κινητός περιηγητής ή 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' });
}Μην αναμειγνύετε ποτέ μια διαδρομή με flags και μια διαδρομή χωρίς flags στο ίδιο URL: αυτή χωρίς flags ελέγχεται πρώτη και παίρνει κάθε αίτημα, οπότε η διαδρομή με flags δεν φτάνει ποτέ.