Akční dopravní možnosti a výslovné TMS publikování
V total5@0.0.19: NEWACTION() ukládá csrf, encrypt a compress v akčních metadatách, ale neustanovují HTTP záruky jejich názvy by mohly navrhnout na hTTP tratech:
csrf:truesamo akceptuje POST bez tokenu. Použijte middleware, který voláDEF.onCSRFcheck()s nakonfigurovanýmsecret_csrf, jako v csrf-protection.encrypt:truena prohlášené cestě přidává metadata@encrypt, ale tato verze stále přijímá žalobní text JSON a vrací žalobu JSON.compress:falsenevylučuje běžný HTTP gzip; komprese odpovědi následuje$httpcompress, přijatá kódování a velikost odpovědi klienta.publishvyhlašuje TMS téma / schéma. dokončení akce automaticky nezveřejní výsledek.$.publish(value)výslovně a úmyslně vytvořit veřejný poplatek. Vyberte pole, které chcete zveřejnit před voláním$.publish(value).
Nastavení tokenu TMS pro vaši aplikaci. zprávy TMS jdou k předplatitelům této tématu; pravidla povolení aplikace a nájemnosti stále patří do vašeho kódu.
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');
};