LightREST: A classe lrRequest
A classe lrRequest permite que a função WinDev® iniciada durante a chamada a uma rota REST receba o conteúdo da requisição HTTP para processá-la e envie o resultado de volta ao solicitante.
A classe lrRequest implementa os Membros e Métodos descritos abaixo.
Membros
Membro | Tipo | Descrição |
---|---|---|
Body | string | Corpo da requisição. Preenchido apenas para os métodos POST, PUT e PATCH |
Method | string | Método chamado pelo cliente REST. Corresponde a uma das ações suportadas pelo LightREST (classe lrServer) |
URL | lrURL | Descrição da URL da requisição |
Proto | string | Versão do protocolo HTTP |
Header | matriz associativa de strings | Cabeçalhos (HEADERS) |
ContentLength | inteiro de 8 bytes | Tamanho da requisição |
Host | string | Host |
PostForm | matriz associativa de strings | Conteúdo do formulário HTTP |
Files | matriz associativa de lrFile | Arquivos anexados à requisição |
RemoteAddr | string | Endereço IP do cliente |
RequestURI | string | Rota chamada |
Authentication | lrAuthentication | Autenticação do cliente |
Vars | matriz associativa de strings | Variáveis passadas na Rota (entre {}) |
Métodos
GetHeaderValue(Cabeçalho) : string
Recuperação do valor de um cabeçalho HTTP (HEADER) na requisição enviada pelo cliente.
Também é possível consultar diretamente a matriz associativa lrRequest:Header.
Parâmetro | Tipo | Descrição |
---|---|---|
Cabeçalho | String | Nome do cabeçalho HTTP a ser recuperado na requisição REST |
Retorno: String: Valor correspondente ao cabeçalho solicitado. Vazio se o cabeçalho não existir.
Exemplo:
procedimento MinhaProcREST(pRequest é lrRequest) : lrResponse cValCabecalho é cadeia oResponse é lrResponse cValCabecalho = pRequest:GetHeaderValue("SESSION_ID") oResponse:Body = "Recebemos o HEADER SESSION_ID="+cValCabecalho oResponse:RetCode = lrResponse::StatusOK oResponse:ContentType = lrResponse::ContentTXT RETORNA oResponse
GetHeaderSubValue(Cabeçalho, SubCabeçalho) : string
Recuperação do valor de um subcabeçalho HTTP (HEADER) na requisição enviada pelo cliente. Útil, por exemplo, para recuperar o valor de um cabeçalho com valores múltiplos como Cache-Control.
Parâmetro | Tipo | Descrição |
---|---|---|
Cabeçalho | String | Nome do cabeçalho HTTP a ser recuperado na requisição REST |
SubCabeçalho | String | Nome do subcabeçalho HTTP a ser recuperado na requisição REST |
Retorno: String: Valor correspondente ao cabeçalho solicitado. Vazio se o cabeçalho não existir.
Exemplo:
procedimento MinhaProcREST(pRequest é lrRequest) : lrResponse cValCabecalho é cadeia oResponse é lrResponse se pRequest:GetHeaderSubValue("Cache-Control", "no-cache")<>"" então oResponse:Body = "Cache desativado solicitado!" senão oResponse:Body = "Cache ativado" fim oResponse:RetCode = lrResponse::StatusOK oResponse:ContentType = lrResponse::ContentTXT RETORNA oResponse
GetRouteValue(Variável) : string
Recuperação do valor de uma variável passada na Rota da requisição HTTP.
Também é possível consultar diretamente a matriz associativa lrRequest:Vars.
Parâmetro | Tipo | Descrição |
---|---|---|
Variável | String | Nome da variável a ser recuperada na rota REST (definida entre {} durante a criação da Rota) |
Retorno: String: Valor correspondente à variável solicitada. Vazio se a variável não existir.
Exemplo:
Seja uma rota definida como /cliente/{id_emp}/{id_cliente}
Chamamos a URL: http://rest.fr/cliente/Acme/2468
lrRequest:GetVarValue("id_emp") // retornará "Acme" lrRequest:GetVarValue("id_cliente") // retornará "2468"
GetUrlValue(Variável) : string
Recuperação do valor de uma variável passada na URL da requisição HTTP.
Também é possível consultar diretamente a matriz associativa lrRequest:URL.QueryValues.
Parâmetro | Tipo | Descrição |
---|---|---|
Variável | String | Nome da variável a ser recuperada na URL |
Retorno: String: Valor correspondente à variável solicitada. Vazio se a variável não existir.
Exemplo:
Chamada da URL http://rest.fr/cliente?nome=DUP&cep=06000
lrRequest:GetUrlValue("nome") // retornará "DUP" lrRequest:GetUrlValue("cep") // retornará "06000"