A partir da versão tlppCore 01.03.04, foi disponibilizado a função de usuário "onSend".
O onSend é uma função de callback que é executada um pouco antes do envio final da resposta da requisição HTTP de todas as requisições atendidas.
Ela será um ponto de execução em comum para todos as requisições HTTP, independentemente de qual endpoint foi requisitado para ser executado.
Parâmetros Recebidos
A função customizada não recebe parâmetros.
Retorno
O retorno não tem funcionalidade para este Callback, portanto a camada tlppCore irá ignorar qualquer retorno feito por essa função.
Exemplo de função para implementar:
function U_OnSend() local cMsgSend as character local jValue as json // 1 - Conteúdo de retorno gerado pelo REST executado cMsgSend := oRest:getBodyResponse() if ( !empty(cMsgSend) ) jValue := JsonObject():new() // 2 - Tenta converter conteúdo para formato JSON ret := jValue:fromJson(cMsgSend) // 3 - Conforme sucesso na conversão, indica formtato do conteúdo no Header if ( valtype(ret) == "U" ) oRest:updateKeyHeaderResponse("Content-Type", "application/json") else oRest:updateKeyHeaderResponse("Content-Type", "text/plain") endif FreeObj(jValue) endif return
A lógica de implementação fica a critério / necessidade de cada desenvolvedor
Para habilitar, deve ser informado a chave "onSend" no ThreadPool contido na chave "UserExits". Para saber mais, acesse a documentação do UserExits.
Abrangência
tlppCore 01.03.04 ou superior