Requisições HTTP possuem um cabeçalho [Header], um conjunto de chave:valor que servem para determinar comportamentos esperados da requisição através de chaves e valores definidos em protocolos internacionais.
Porém pode-se também enviar conjuntos de chave:valor que se desejar.
Para resgatar o valor veja o exemplo:
@Get("sample/function/header")
user function sampleHeader()
local cReturn := ""
local jHeader := Nil
jHeader := oRest:getHeaderRequest()
if ( jHeader <> Nil )
cReturn := "Parâmetros capturados: [" + jHeader:ToJSon() + "]"
endif
oRest:SetResponse( cReturn )
return
Para obter todos os dados do Header oRest:getHeaderRequest()
.
Esse método já nos retorna em formato JSON, portanto, para acessar o dado de um determinado parâmetro, basta seguir como abaixo:
jHeader := oRest:getHeaderRequest()
cCode := jHeader[ 'code' ]
Atenção:
Os objetos JSON retornados por métodos de oRest, como por exemplo oRest:getQueryRequest(), são referências ao objeto existente no REST e não uma cópia.
Existem alguns motivos para ser uma referência, são eles:
- Melhorar performance do serviço;
- Economia de memória;
- Evitar que seja necessário limpar o objeto na saída da implementação do serviço REST.
Portanto, é imprescindível que não se manipule diretamente o Objeto, pois isso irá refletir nas próximas requisições, causando problemas difíceis de serem detectados.
Métodos:
oRest:getPathParamsRequest() oRest:getQueryRequest() oRest:getHeaderRequest() oRest:getThreadPoolTlppData() oRest:getServerTlppData() oRest:getThreadPoolUserData() oRest:getThreadPoolServerUserData() oRest:getHeaderResponse()