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.

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 formato 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.




tlppCore 01.03.04 ou superior