Manipulando anexos em um objeto message
O objeto message fornece APIs e propriedades para manipular os anexos de mensagens
Se o conjunto incluir uma política de análise, os anexos na solicitação ou resposta de uma mensagem de várias partes poderão ser manipulados e enviados de volta para o cliente Por padrão, a resposta é enviada para o cliente em formato de várias partes
Restrição: Não é possível adicionar um anexo a uma solicitação ou resposta que não contenha anexos existentes.
Como alternativa, é possível limpar context.message.attachments para descartar os anexos e enviar apenas message.body para o clienteNota: Se o conjunto não incluir uma política de análise, as seguintes regras de processamento serão aplicadas.
- Para uma solicitação multipartes em que a variável
message.bodynão é alterada, a política de chamada mantém e transmite os anexos para o servidor. - Para uma solicitação ou resposta de várias partes em que a variável
message.bodynão é alterada, a ação da API de resultado passa os anexos como a resposta final. - Se a variável
message.bodyfor alterada, os anexos serão descartados.
Recuperando um anexo
- Exemplos de GatewayScript
- Recupere o anexo por local do índice
context.message.attachments[1]
Anexando um anexo à mensagem
- GatewayScript example
var headers = JSON.parse ( '{ "Content-Type": "text/xml; charset=utf-8", "Content-Id": "<data>" }' ); context.message.attachments.append(headers, 'Hello world.');
Recuperando o número de anexos em uma matriz
- Exemplo
for (var i = 0; i < context.message.attachments.count; i++) { context.message.attachments[i].header.set('X-Foo', 'bar'); }
Removendo um anexo da mensagem.
- Exemplos de GatewayScript
- Remova o anexo por local do índice
context.message.attachments.remove(1)
Ler, acessar e manipular o corpo de um apego
- Exemplos de GatewayScript
- Para ler a carga útil de um anexo em binário e retornar o conteúdo como um objeto
Buffer,Buffers,JSONouXML NodeList:context.message.attachments[0].body.readAsBuffer(function(errorObject,bufferObject){}) context.message.attachments[0].body.readAsBuffers(function(errorObject,buffersObject){}) context.message.attachments[0].body.readAsJSON(function(errorObject,jsonObject){}) context.message.attachments[0].body.readAsXML(function(errorObject,nodeList){})Para gravar o conteúdoHello worldna carga útil atual do anexo:message.attachments[0].body.write("Hello world")
Manipulando os cabeçalhos de um anexo
- Exemplos de GatewayScript
- Para recuperar os valores dos cabeçalhos de conexão inteiros:
context.message.attachments[0].headersPara recuperar o valor do cabeçalho nomeado do anexo:context.message.attachments[0].header.get();Para excluir o cabeçalho atual doContent-Typedo anexo,context.message.attachments[0].header.remove('Content-Type');É possível configurar o valor do cabeçalho nomeado de um anexo O cabeçalho pode ser unido e não unido. Veja o código a seguir como exemplo.
Se o tipo de valor for uma matriz, o cabeçalhocontext.message.attachments[0].header.set('MyCookie', ['cookie1', 'cookie2']);MyCookienão será coalescido e estará presente com entradas diferentes no cabeçalho HTTP.MyCookie: cookie1 MyCookie: cookie2