Nega ou permite uma requisição com base no país do visitante, resolvido a partir de dados de GeoIP na rede global da Azion. Use esse padrão em uma função de firewall para impor restrições geográficas, bloqueando o tráfego de regiões específicas antes que ele chegue à sua aplicação. O código se baseia no código do país, acessado através de event.request.metadata["geoip_country_code"], e a requisição é negada ou não por event.deny().
async function firewallHandler(event){ // Access the country code through geoip let countryCode = event.request.metadata["geoip_country_code"]
// Do some logic here // In this example, we are blocking access from Brazil if (countryCode === "BR"){ event.deny(); }
// Then, if it comes from any other country, // the processing continues event.continue();}
addEventListener("firewall", (event)=>event.waitUntil(firewallHandler(event)));Como funciona
A função escuta o evento firewall e executa seu handler assíncrono dentro de event.waitUntil(). Ela lê o país do visitante em event.request.metadata["geoip_country_code"] e, quando a requisição vem do Brasil, chama event.deny(), que retorna uma resposta 403 padrão e interrompe o processamento. Para requisições de qualquer outro país, event.continue() permite que a requisição prossiga normalmente até seu destino.