Opțiuni de transport de acțiune și publicarea explicită a TMS
În total5@0.0.19: NEWACTION() stocă metadata de acțiune csrf, encrypt și compress, dar nu stabilesc HTTP-ul care îi garantează că numele lor ar sugera pe rute HTTp:
csrf:truesingur acceptă un POST fără token. Folosește un middleware care apeleazăDEF.onCSRFcheck()cusecret_csrfconfigurat, ca în csrf-protection.encrypt:truepe o rută declarată adaugă metadata@encrypt, dar această versiune acceptă încă textul JSON și returnează textul jSON.compress:falsenu dezactivează gzipul obișnuit HTTP; compresia de răspuns urmează$httpcompress, codarea acceptată a clientului și dimensiunea de răspuns.publishdeclară un subiect/schema TMS. Încheierea unei acțiuni nu publică automat rezultatul acesteia. Apelați explicit la$.publish(value)și construiți în mod deliberat încărcătura publică. Selectați câmpurile de publicare înainte de a apela la$.publish(value).
Configurați tokenul TMS pentru aplicația dvs. Mesajele TMS merg la abonații acestui subiect; permisiunea de aplicare și regulile de taxă rămân în codul dvs.
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');
};