Handlers
Os formatos de handler que o Azion Runtime chama em uma function, os parâmetros request, env e ctx do handler fetch e o formato obsoleto.
Um handler é o código que o Azion Runtime chama quando uma requisição chega a uma function em Functions. No padrão ES Modules, o export default do módulo é um objeto cujo método fetch recebe a requisição e retorna um Response. Um handler responde a requisições HTTP, aplica lógica de firewall e de controle de acesso e executa trabalho assíncrono enquanto o Azion Runtime processa a requisição.
Handler fetch
O handler fetch é o método fetch do export default. O Azion Runtime o chama com três argumentos a cada execução da function:
| Parâmetro | Tipo | Descrição |
|---|---|---|
request | Request | Requisição HTTP recebida. request.metadata carrega os metadados da requisição, como a geolocalização e o protocolo TLS. |
env | Object | Um objeto vazio em uma function com deploy feito. As variáveis de ambiente são lidas com Azion.env.get() ou process.env. |
ctx | Context | Contexto de execução da requisição. Carrega args e waitUntil. |
ctx.args | Object | Args da instância de function, um objeto JSON. |
ctx.waitUntil(promise) | Function | Estende a execução até que promise seja resolvida ou rejeitada. |
O parâmetro env não contém variáveis em uma function com deploy feito. Para ler uma variável, chame Azion.env.get('<name>') ou leia process.env.<name>: os dois retornam o valor dela. Para mais informações, consulte API de variáveis de ambiente.
Formatos de handler
O Azion Runtime executa uma function escrita no padrão ES Modules, no padrão Service Worker ou como uma função de export default. O objeto ES Modules é o formato recomendado:
| Formato | Padrão | O que o handler recebe |
|---|---|---|
export default { fetch(request, env, ctx) } | ES Modules, recomendado | request, env e ctx, como a tabela do handler fetch os descreve. |
addEventListener('fetch', (event) => {}) | Service Worker | Um FetchEvent com request, args, console, respondWith() e waitUntil(). Para mais informações, consulte addEventListener. |
export default main, em que main recebe event | Obsoleto | O mesmo FetchEvent que o padrão Service Worker recebe. |
Uma function cujo export default é uma função continua em execução, e azion build imprime esta linha de obsolescência para ela:
Uma instância de function em um firewall usa um handler firewall no lugar de fetch. Para mais informações, consulte Functions em um firewall.
Exemplo
Este handler fetch retorna uma resposta em texto simples para toda requisição:
Com o deploy feito, a function retorna esta resposta: