Опции за транспорта на действие и експлицитно TMS публикуване
В total5@0.0.19: NEWACTION() съхранява csrf, encrypt и compress в метаданни за действие, но те не установяват HTTP гаранции техните имена може да предложи на HTTp маршрути:
csrf:trueсамо по себе си приема POST без токен. Използвайте middleware, който извикваDEF.onCSRFcheck()с конфигуриранsecret_csrf, както в csrf-protection.encrypt:trueНа обявения маршрут се добавя@encryptметаданни, но тази версия все още приема JSON и връща JSON.compress:falseне изключва обичайния HTTP gzip; компресията на отговора следва$httpcompress, приетото кодиране и размера на отговорите на клиента.publishДекларация за тема / схема на TMS. Завършване на действие не публикува автоматично резултата му.$.publish(value)изрично и изграждане на публичната тежест умишлено. Изберете полета за публикуване преди да се обадите$.publish(value).
Настройване на токена TMS за вашата заявка. 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');
};