FetchEvent
A interface FetchEvent do Azion Runtime: o evento que um listener fetch recebe a cada requisição, suas propriedades e seus métodos.
FetchEvent é o evento que o Azion Runtime passa para um listener registrado com addEventListener para o tipo fetch. O listener define qual código é executado quando uma requisição chega, e o evento leva os dados da requisição até ele. O listener lê event.request para rotear, filtrar ou transformar o tráfego. Em seguida, ele chama event.respondWith() com uma resposta que ele mesmo constrói, ou com a resposta de uma chamada fetch() para uma origem. Para mais informações, consulte FetchEvent na MDN Web Docs.
Um handler escrito como export default main(event) recebe o mesmo FetchEvent, e o azion build marca esse formato como obsoleto. Para o formato de handler recomendado, consulte Handlers.
Construtor
O Azion Runtime cria um FetchEvent para cada requisição e o passa para o listener:
Seu código não constrói o evento. Em uma function após o deploy, new FetchEvent('fetch') lança TypeError: Illegal constructor.
Propriedades
| Propriedade | Tipo | Descrição |
|---|---|---|
event.args | Object | Args da instância da function, uma propriedade por chave. Uma instância sem Args passa {}. Para mais informações, consulte Args. |
event.console | Object | Console do evento, com métodos como log(). |
event.request | Request | Requisição HTTP que a function recebeu. Em uma function após o deploy, event.request.metadata contém os metadados da requisição. |
event.type | String | Tipo do evento: fetch. |
Métodos
| Método | Descrição |
|---|---|
event.respondWith(response) | Define a resposta que a function envia ao cliente. response é um Response ou uma promise que resolve em um. |
event.waitUntil() | Presente no evento. O handler fetch(request, env, ctx) expõe ctx.waitUntil(); para mais informações, consulte Handlers. |
Exemplo
Este listener passa o evento para uma função handleRequest, e event.respondWith() envia a resposta que essa função retorna: