Árvore de páginas

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.


Recurso disponível a partir da versão 01.03.04 do tlppCore.




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.




Observações

Para habilitar esse recurso, deve ser informado a chave "onSend" no ThreadPool contido na chave "UserExits".

Para saber mais, acesse a  documentação do UserExits.





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