Επιλογές μεταφοράς δράσης και ρητή TMS δημοσίευση
Στο total5@0.0.19: το NEWACTION() αποθηκεύει τα μεταδεδομένα δράσης csrf, encrypt και compress, αλλά δεν εγγυώνται ότι τα ονόματά τους θα μπορούσαν να προτείνουν στις διαδρομές HTTP:
- Το
csrf:trueαπό μόνο του δέχεται ένα POST χωρίς token. Χρησιμοποιήστε ένα middleware που καλεί τοDEF.onCSRFcheck()με ρυθμισμένοsecret_csrf, όπως στο csrf-protection. - Το
encrypt:trueσε μια δηλωμένη διαδρομή προσθέτει μεταδεδομένα του@encrypt, αλλά αυτή η έκδοση εξακολουθεί να δέχεται το έντυπο JSON και επιστρέφει το ένγραφο JSON. - Το
compress:falseδεν απενεργοποιεί το συνηθισμένο HTTP gzip. η συμπίεση της απάντησης ακολουθεί το$httpcompress, το αποδεκτό κρυπτογράφημα και το μέγεθος της απάντηση του πελάτη. - Το
publishδηλώνει ένα θέμα / σχήμα του TMS. Η ολοκλήρωση μιας ενέργειας δεν δημοσιεύει αυτόματα το αποτέλεσμα της. Καλέστε το$.publish(value)ρητά και δημιουργήστε το δημόσιο φορτίο σκόπιμα. Επιλέξτε τα πεδία για δημοσίευση πριν καλέσετε το$.publish(value).
Τα μηνύματα TMS πηγαίνουν στους συνδρομητές αυτού του θέματος. οι κανόνες άδειας εφαρμογής και επιδόσεων εξακολουθούν να ανήκουν στον κωδικό σας.
secret_csrf : local-csrf-fixture-only
$tms : true
secret_tms : local-tms-fixture-only
$httpcompress : trueNEWACTION('Transport|csrf', {
csrf: true,
input: '*value:String',
action: function($, model) { $.callback(model); }
});
NEWACTION('Transport|encrypted', {
encrypt: true,
route: 'POST /encrypted/',
input: '*value:String',
action: function($, model) { $.callback(model); }
});
NEWACTION('Transport|compressed', {
compress: false,
action: function($) { $.callback({ text: 'abcdefghij'.repeat(400) }); }
});
NEWACTION('Transport|notice', {
publish: 'value:String',
input: '*value:String',
action: function($, model) {
$.publish({ value: model.value });
$.success();
}
});exports.install = function() {
ROUTE('POST /csrf-option/ @json --> Transport|csrf');
ROUTE('GET /compression-option/ --> Transport|compressed');
ROUTE('POST /notice/ @json --> Transport|notice');
};