Options de transport d'action et publication explicite TMS
Dans total5@0.0.19: NEWACTION() stocke csrf, encrypt et compress dans les métadonnées d'action, mais ils ne définissent pas les garanties HTTP que leurs noms pourraient suggérer sur les routes HTTp:
csrf:trueseul accepte un POST sans jeton. Utilisez un middleware qui appelleDEF.onCSRFcheck()avecsecret_csrfconfiguré, comme dans csrf-protection.encrypt:truesur une route déclarée ajoute les métadonnées de@encrypt, mais cette version accepte toujours le plaintext JSON et retourne le plaintesxt J SON.compress:falsene désactive pas l'ordinaire HTTP gzip; la compression de réponse suit$httpcompress, le chiffrement accepté du client et la taille de réponse.publishdéclare un thème / schéma TMS. La réalisation d'une action ne publie pas automatiquement son résultat. Appelez le$.publish(value)explicitement et construisez la charge publique intentionnellement. Sélectionnez les champs à publier avant de appeler le$.publish(value).
Configurez le token TMS pour votre application. les messages TMS vont aux abonnés de ce sujet; les règles d'autorisation de l'application et de tenance appartiennent toujours à votre 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');
};