Adiciona um response header 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 marcar ou sinalizar tráfego de regiões específicas, por exemplo, para acionar lógica por país mais adiante sem bloquear a requisição. O código se baseia no código do país, acessado através de event.request.metadata["geoip_country_code"].

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, if the request comes from Brazil, we add a header to the response
if (countryCode === "BR"){
event.addResponseHeader("test", "true");
}
// 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 com addEventListener, envolvendo o handler assíncrono em event.waitUntil() para que o processamento seja concluído antes do fim do evento. Ela lê o código do país em event.request.metadata["geoip_country_code"] e, quando o visitante é do Brasil, chama event.addResponseHeader("test", "true") para anexar um header personalizado à resposta. Por fim, event.continue() permite que a requisição prossiga normalmente até seu destino, em vez de ser bloqueada.

Recursos relacionados