# Exemplos JavaScript - Adicionar response header

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"]`.

```js
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

- [Exemplos em JavaScript](/pt-br/documentacao/devtools/javascript-exemplos/)
- [Runtime APIs](/pt-br/documentacao/produtos/applications/functions/runtime-apis/javascript/fetch-event/)

---