Request
A interface Request do Azion Runtime: a requisição que uma function recebe, o construtor, as propriedades somente leitura e os métodos dela.
A interface Request representa uma requisição HTTP na Fetch API do Azion Runtime. Uma function recebe cada requisição como um Request: o argumento request de um handler fetch(request, env, ctx), ou event.request em um listener que recebe um FetchEvent. Você também constrói um Request para passar para fetch(). Para mais informações, consulte Request na MDN Web Docs.
Construtor
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
input | String ou Request | Sim | Recurso a requisitar, como uma URL ou como um objeto Request. |
init | Object | Não | Opções que definem o método, os headers, o corpo e o modo de redirecionamento da requisição. |
O objeto init aceita estas opções:
| Opção | Tipo | Descrição |
|---|---|---|
method | String | Método da requisição, como GET ou POST. |
headers | Objeto Headers ou um objeto simples | Headers da requisição. |
body | String, ou o body de outra requisição | Conteúdo do corpo da requisição. |
redirect | String | Modo de redirecionamento: follow, error ou manual. |
O construtor normaliza a URL: new Request('https://example.com') tem a url https://example.com/.
Propriedades
| Propriedade | Tipo | Descrição |
|---|---|---|
body | ReadableStream ou null | Conteúdo do corpo, lido como um stream. null quando a requisição não tem corpo, como uma requisição GET recebida. Para mais informações, consulte ReadableStream. |
bodyUsed | Boolean | false até que o corpo seja lido e, depois disso, true. |
headers | Headers | Headers da requisição. |
metadata | Object | Metadados da requisição recebida, disponíveis em uma function após o deploy. Para mais informações, consulte API de metadados. |
method | String | Método da requisição, como GET ou POST. |
redirect | String | Modo de redirecionamento: follow, error ou manual. Uma requisição recebida tem follow. |
url | String | URL completa da requisição, incluindo a query string, como https://example.com/a?b=1. |
Toda propriedade da requisição recebida é somente leitura. Em uma function após o deploy, uma atribuição como request.url = 'https://example.com/' lança TypeError: Cannot set property url of [object Request] which has only a getter. Para alterar uma requisição, construa um Request e passe em init os valores que você mantém, como faz o exemplo abaixo.
Métodos
| Método | Descrição |
|---|---|
request.text() | Lê o corpo como uma string. Retorna uma promise. Depois da chamada, bodyUsed é true. |
Em uma function após o deploy, a requisição também tem arrayBuffer(), blob(), bytes(), clone(), formData() e json(). Para o comportamento desses métodos, consulte Request na MDN Web Docs.
Exemplo
Este listener constrói um Request para https://example.com com o método, os headers, o corpo e o modo de redirecionamento da requisição recebida. Em seguida, ele retorna com Response.json() três propriedades da requisição que construiu:
Para uma requisição GET recebida, a function retorna estes valores da requisição que constrói: