Aktionstransportoptionen und explicit TMS-Veröffentlichung
In total5@0.0.19: NEWACTION() speichert csrf, encrypt und compress in Aktionsmetadata, aber sie stellen nicht die HTTP-Garantie, dass ihre Namen auf HTTp-Routen empfehlen könnten:
csrf:trueallein akzeptiert einen POST ohne Token. Verwende eine Middleware, dieDEF.onCSRFcheck()mit konfiguriertemsecret_csrfaufruft, wie in csrf-protection.encrypt:trueauf einer angekündigten Route fügt@encryptMetadaten hinzu, aber diese Version akzeptiert immer noch den JSON-Test und gibt den JSon-Tast zurück.compress:falsedeaktiviert nicht die gewöhnliche HTTP gzip; die Reaktionskompression folgt$httpcompress, der akzeptierte Codierung und Antwortgröße des Kunden.publisherklärt ein TMS-Thema/Schema.Eine Aktion wird nicht automatisch veröffentlicht.Rufen Sie$.publish(value)ausdrücklich und bauen Sie die öffentliche Zahlung absichtlich.Sie wählen die Felder, um zu veröffentlichen, bevor Sie$.publish(value)rufen.
Konfigurieren Sie den TMS-Token für Ihre Anwendung. TMS Nachrichten gehen an Abonnenten dieses Themas; Anwendungsgenehmigungen und Gebührenregeln gehören immer noch in Ihrem Code.
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');
};