new Request()
Classe utilizada para acessar as informações contidas em uma requisição HTTP.
Esta classe é criada automaticamente pelo sistema quando um ambiente JavaScript está atendendo uma requisição HTTP. Neste caso, é criada a variável global request. Sessões que não tem relação com um atendimento HTTP, como ambientes do Scheduler, não possuem esta variável global.
Classe também publicada por meio da variável global Request.
Members
-
acceptLanguage :string
-
Cabeçalho HTTP que indica as línguas desejadas pelo requisitante.
Type:
- string
-
body :RequestBody
-
Corpo da requisição.
Type:
- RequestBody
-
content :string
-
Conteúdo enviado pelo cliente no corpo da requisição.
Importante: essa propriedade aloca o corpo da requisição em memória e não deve ser utilizada em requisições de tamanho elevado. Tentar ler o corpo de uma requisição com mais de 20MB irá gerar um erro. Utilize o método #read para tratar requisições maiores.
Type:
- string
- See:
-
contentLength :number
-
Tamanho em bytes do conteúdo contido no corpo da requisição informado pelo cliente por meio do cabeçalho content-length.
O valor desta propriedade poderá ser diferente do tamanho de #content no caso de conteúdos textuais codificados em UTF-8. O Engine converterá automaticamente esses conteúdos para ISO-8859-1, o que poderá provocar uma redução do tamanho do conteúdo disponibilizado pela propriedade #content. Nesses casos, o método #read pode ser utilizado para ter acesso ao conteúdo original enviado pelo cliente.
Type:
- number
-
contentType :string
-
Tipo de mídia do conteúdo enviado pelo cliente.
Ver http://www.iana.org/assignments/media-types/media-types.xhtml para mais detalhes.
Type:
- string
-
cookieCount :number
-
Quantidade de cookies enviados na requisição.
Type:
- number
-
headers :Record.<string, string>
-
Cabeçalhos informados na requisição HTTP representados por um objeto cujos nomes de propriedades são os nomes dos campos de cabeçalho, normalizados em caixa baixa, e os valores das propriedades são os valores dos campos de cabeçalho.
Type:
- Record.<string, string>
Example
// Script que exibe todos os cabeçalhos enviados pelo navegador const headers = request.headers; for (const name in headers){ response.write(name + ": " + headers[name] + "<br>"); }
-
host :string
-
Nome do servidor solicitado pelo usuário. Caso a URL informada seja "www.company.com/index.htm", o host será "www.company.com".
Type:
- string
-
httpMessage :string
-
Mensagem HTTP completa.
Type:
- string
-
localAddress :string
-
Endereço IP da interface de rede que atendeu a requisição HTTP.
Type:
- string
-
localHost :string
-
Nome associado ao endereço IP da interface de rede que atendeu a requisição HTTP.
Type:
- string
-
localPort :number
-
Porta TCP que atendeu a requisição HTTP.
Type:
- number
-
method :string
-
Indica o método HTTP que será sendo invocado. Poderá ser: GET, POST, PUT, PATCH, DELETE, HEAD ou OPTIONS.
Type:
- string
-
methodType :string
-
Indica o método HTTP que será sendo invocado. Poderá ser: GET, POST, PUT, PATCH, DELETE, HEAD ou OPTIONS.
Type:
- string
- Deprecated:
-
- Utilize #method.
-
parameterCount :number
-
Quantidade de parâmetros enviados na requisição. Parâmetros podem ser enviados no corpo da requisição ou na query string da URL.
Type:
- number
-
params :Object.<string>
-
Retorna um objeto com todos os parâmetros informados na "query string" da URL da requisição. Para possibilitar a pesquisa, os nomes dos parâmetros serão em minúsculo no objeto retornado. Caso haja um parâmetro definido mais de uma vez, será considerado o último valor informado na URL. Mais detalhes em http://en.wikipedia.org/wiki/Query_string.
Type:
- Object.<string>
-
path :string
-
Arquivo requisitado. Caso a URL informada seja "www.company.com.br/index.htm", o path será "/index.htm".
Type:
- string
-
readTimeout :number
-
Tempo máximo de espera em milissegundos para a leitura do conteúdo. O timeout de leitura será empregado no método #read quando for solicitada uma quantidade de dados superior ao que já foi recebido do cliente.
Type:
- number
-
referer :string
-
Arquivo que originou a requisição. Exemplo: se o cliente abrir a página /index.htm e nesta for requisitado um segundo documento, o referer deste último será /index.htm.
Type:
- string
-
remoteAddress :string
-
Endereço IP do computador que realizou a requisição HTTP.
Type:
- string
-
remoteHost :string
-
Nome do computador que realizou a requisição HTTP.
Type:
- string
-
remotePort :number
-
Porta TCP utilizada pelo computador remoto para realizar a requisição HTTP.
Type:
- number
-
userAgent :string
-
Identificação do aplicativo cliente que fez a requisição HTTP.
Type:
- string
-
xml :string
-
Representação DOM dos dados enviados pelo browser para o servidor. Esta propriedade somente estará preenchida quando o tipo dos dados enviados for "text/xml". Para outros tipos, será null.
Type:
- string
- See:
Methods
-
getCookie(indexOrName)
-
Obtém o valor do cookie informado.
Parameters:
Name Type Description indexOrName
number | string Índice ou nome do cookie. O índice é um valor dentro da faixa de 0 a #cookieCount - 1.
- See:
-
getCookieName(index)
-
Obtém o nome do cookie na posição informada.
Parameters:
Name Type Description index
Índice ou nome do cookie. O índice é um valor dentro da faixa de 0 a #cookieCount - 1.
- See:
-
getHeader()
-
Lê o conteúdo do cabeçalho informado da requisição HTTP. Retorna vazio, caso o cabeçalho não tenha sido preenchido pelo cliente.
Returns:
- Type
- string
Example
// Verifica se o navegador aceita a compressão da resposta utilizando o // algoritmo Gzip var encodings = request.getHeader("Accept-Encoding") encodings = encodings.toLowerCase().split(",") var useGzip = encodings.indexOf("gzip") >= 0
-
getParameter(indexOrName)
-
Obtém o valor do parâmetro informado.
Parameters:
Name Type Description indexOrName
number | string Índice ou nome do parâmetro. O índice é um valor dentro da faixa de 0 a #parameterCount - 1.
- Deprecated:
-
- Yes
- See:
Returns:
Valor do parâmetro.
- Type
- string
-
getParameterName(index)
-
Obtém o nome do parâmetro informado.
Parameters:
Name Type Description index
number | string Índice do parâmetro. O índice é um valor dentro da faixa de 0 a #parameterCount - 1.
- See:
-
isHttps( [trustProxy])
-
Avalia se a requisição foi estabelecida utilizando o protocolo HTTPS.
A conexão HTTPS pode ter sido estabelecida diretamente até o Engine ou indiretamente via um proxy reverso configurado com o certificado digital. Neste último caso, o tráfego entre o proxy reverso e o Engine pode ter sido estabelecido via HTTP.
Parameters:
Name Type Argument Default Description trustProxy
boolean <optional>
true Indica se o cabeçalho "x-forwarded-proto" recebido deve ser considerado como confiável para avaliar se o protocolo utilizado foi o HTTPS.
Returns:
True se a conexão for HTTPS.
- Type
- boolean
-
param(name, opt_default)
-
Obtém um parâmetro informado na "query string" da URL da requisição. Mais detalhes do formato em http://en.wikipedia.org/wiki/Query_string.
Parameters:
Name Type Description name
string Nome do parâmetro.
opt_default
* Valor padrão a ser utilizado caso o parâmetro não tenha sido informado na URL. Caso não seja informado, será considerado null.
Returns:
Valor do parâmetro informado ou "opt_default" caso não haja o parâmetro informado na "query string" da URL.
- Type
- string
-
read(size)
-
Lê os dados contidos no corpo da requisição.
O uso deste método é recomendado para requisições de tamanho elevado, como upload de arquivos, pois ele permite que o conteúdo seja lido parcialmente, sem que seja necessário alocar o conteúdo inteiro da requisição em memória.
Importante: ao utilizar este método para ler o corpo da requisição, nenhum tratamento automático de codificação de UTF-8 para ISO-8859-1 será realizado, nem poderão ser utilizadas outras propriedades ou métodos de acesso ao corpo da requisição, como #content. A propriedade #httpMessage não exibirá o conteúdo da requisição e #params não irá considerar os parâmetros informados no corpo da requisição, mesmo que o tipo do conteúdo seja application/x-www-form-urlencoded.
Parameters:
Name Type Description size
number Quantidade de dados a serem lidos. O método bloqueará até que a quantidade de dados solicitada esteja disponível ou irá gerar um erro caso o tempo limite #readTimeout seja atingido. No máximo poderá ser solicitado 1 MB de dados a cada leitura, será lançada uma exceção caso seja solicitado um valor superior a esse.
- See:
Returns:
Dados lidos do corpo da requisição.
- Type
- string
Example
var timeout = 60000; var outFile = new File(File.getTempFileName()); var remain = request.contentLength; while (remain > 0 && Date.now() < timeout) { var buffer = request.read(Math.min(1024, remain)); remain -= buffer.length; outFile.write(buffer); }