Response
A interface Response do Azion Runtime: o construtor, os tipos de corpo que ele aceita, as propriedades e os métodos de instância e estáticos.
A interface Response representa uma resposta HTTP na Fetch API do Azion Runtime. Uma function responde a uma requisição retornando um Response do seu handler, e fetch() resolve em um Response. Para mais informações, consulte Response na MDN Web Docs.
Construtor
| Parâmetro | Tipo | Obrigatório | Padrão | Descrição |
|---|---|---|---|---|
body | Um dos tipos de corpo abaixo, ou null | Não | null | Conteúdo do corpo da resposta. |
init | Object | Não | {} | Opções que definem o status e os headers da resposta. |
O parâmetro body aceita estes tipos. Três deles definem um header content-type na resposta:
| Tipo de corpo | content-type definido pelo construtor |
|---|---|
Blob | Nenhum |
BufferSource, como um Uint8Array | Nenhum |
FormData | multipart/form-data; boundary=<boundary> |
ReadableStream | Nenhum |
URLSearchParams | application/x-www-form-urlencoded;charset=UTF-8 |
USVString (uma string) | text/plain;charset=UTF-8 |
null | Nenhum; o corpo é lido como uma string vazia |
O objeto init aceita estas opções:
| Opção | Tipo | Descrição |
|---|---|---|
status | Number | Código de status da resposta, como 201. |
statusText | String | Mensagem de status que acompanha o código de status, como Created. |
headers | Objeto Headers ou um objeto simples | Headers da resposta. |
O construtor ignora uma opção url: a propriedade url de uma resposta construída é uma string vazia.
Propriedades
Response implementa o corpo da Fetch API, por isso tem body e bodyUsed além das próprias propriedades:
| Propriedade | Tipo | Descrição |
|---|---|---|
body | ReadableStream | Conteúdo do corpo, lido como um stream. Para mais informações, consulte ReadableStream. |
bodyUsed | Boolean | true depois que o corpo é lido. |
headers | Headers | Headers da resposta. |
ok | Boolean | true quando status está no intervalo 200–299. |
redirected | Boolean | true quando fetch() seguiu pelo menos um redirecionamento para chegar à resposta. |
status | Number | Código de status da resposta, como 200. |
statusText | String | Mensagem de status que acompanha o código de status, como OK para 200. |
type | String | Tipo da resposta: basic para uma resposta de fetch(), default para uma resposta que você constrói e error para Response.error(). |
url | String | URL final de uma resposta de fetch(), depois dos redirecionamentos. Uma string vazia em uma resposta que você constrói. |
Métodos
| Método | Descrição |
|---|---|
response.clone() | Retorna uma cópia da resposta. A cópia e a original leem, cada uma, o corpo completo. |
response.json() | Lê o corpo e o interpreta como JSON. Retorna uma promise. |
response.text() | Lê o corpo como uma string. Retorna uma promise. |
Response.error() | Estático. Retorna uma resposta com type error e status 0. |
Response.json(data) | Estático. Retorna uma resposta cujo corpo é data serializado como JSON, com content-type application/json. |
Response.redirect(url, status) | Estático. Retorna uma resposta de redirecionamento com o status que você passa e um header location definido como url. |
redirect() existe apenas como método estático: chame Response.redirect(), porque uma instância de Response não tem o método redirect.
Exemplo
Este handler constrói uma resposta com um status, uma mensagem de status, um header e uma opção url. Em seguida, ele retorna as propriedades da resposta com Response.json():
A function retorna estes valores da resposta. "[undefined]" marca uma propriedade que é undefined, e url está vazia porque o construtor ignora a opção url: