Opções de transporte de ação e publicação explícita de TMS
Em total5@0.0.19: NEWACTION() armazena csrf, encrypt e compress em metadados de ação, mas eles não estabelecem as garantias HTTP que seus nomes podem sugerir nas rotas HTTp:
csrf:truepor si só aceita um POST sem token. Use um middleware que chameDEF.onCSRFcheck()comsecret_csrfconfigurado, como em csrf-protection.encrypt:trueem uma rota declarada adiciona metadados de@encrypt, mas esta versão ainda aceita o texto JSON e retorna o texto jSON.compress:falsenão desabilita o gzip HTTP comum; a compressão de resposta segue o$httpcompress, o tamanho de codificação e resposta aceito pelo cliente.publishdeclara um tópico/escema TMS. A conclusão de uma ação não publica automaticamente o seu resultado. Chame$.publish(value)explicitamente e construa a carga pública deliberadamente. Selecione os campos para publicar antes de chamar$.publish(value).
Configure o token TMS para a sua aplicação. mensagens TMS vão aos assinantes desse tema; permissão de aplicação e regras de retenção ainda pertencem ao seu código.
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');
};