

# métodos auxiliares gerais
<a name="general-helper-methods"></a>

Esta página apresenta outros métodos auxiliares dentro do CloudFront Functions. Para usar esses métodos, crie uma função do CloudFront usando o Runtime 2.0 do JavaScript.

```
import cf from 'cloudfront';
```

Para ter mais informações, consulte [Recursos de runtime 2.0 do JavaScript para CloudFront Functions](functions-javascript-runtime-20.md).

## `edgeLocation`Metadados do
<a name="edge-location-metadata"></a>

Esse método requer o uso do módulo `cloudfront`.

**nota**  
Somente é possível usar esse método para funções de solicitação de visualizador. Para funções de resposta ao visualizador, esse método está vazio.

Use esse objeto JavaScript para obter o código do aeroporto do local da borda, a região do [cache de borda regional](HowCloudFrontWorks.md#CloudFrontRegionaledgecaches) que deve ser usada ou o endereço IP do servidor do CloudFront usado para processar a solicitação. Esses metadados estão disponíveis somente no acionador de eventos de solicitação de visualizador.

```
cf.edgeLocation = {
    name: SEA
    serverIp: 1.2.3.4
    region: us-west-2
}
```

O objeto `cf.edgeLocation` contém os seguintes campos:

**name**  
O [código da IATA](https://en.wikipedia.org/wiki/IATA_airport_code) de três letras do local da borda que processou a solicitação.

**serverIp**  
O endereço IPv4 ou IPv6 do servidor que processou a solicitação.

**region**  
O cache de borda regional (REC) do CloudFront que a solicitação deve usar se não houver acerto no cache. Esse valor não é atualizado caso o REC a ser usado não esteja disponível e um REC de backup seja usado para a solicitação. Isso não inclui o local do Origin Shield que está sendo usado, exceto nos casos em que o REC primário e o Origin Shield estão no mesmo local.

**nota**  
O CloudFront Functions não é invocado pela segunda vez quando o CloudFront está configurado para usar o failover de origem. Para ter mais informações, consulte [Otimizar a alta disponibilidade com o failover de origem do CloudFront](high_availability_origin_failover.md).

## Método `rawQueryString()`
<a name="raw-query-string-method"></a>

Esse método não requer o módulo `cloudFront`.

Use o método `rawQueryString()` para recuperar a string de consulta não analisada e não alterada como uma string.

**Solicitação**

```
function handler(event) {
    var request = event.request;
    const qs = request.rawQueryString();
}
```

**Resposta**

Exibe a string de consulta completa da solicitação de entrada como um valor de string sem o `?` inicial. 
+ Se não houver uma string de consulta, mas houver um `?`, as funções exibirão uma string vazia. 
+ Se não houver uma string de consulta e houver um `?`, a função exibirá `undefined`.

**Caso 1: string de consulta completa exibida (sem o `?` inicial)**  
URL da solicitação de entrada: `https://example.com/page?name=John&age=25&city=Boston`.  
`rawQueryString()` exibe: `"name=John&age=25&city=Boston"`.

**Caso 2: string vazia exibida (quando há um `?`, mas sem parâmetros)**  
URL da solicitação de entrada: `https://example.com/page?`.  
`rawQueryString()` exibe: `""`.

**Caso 3: `undefined` exibido (sem string de consulta e nenhum `?`)**  
URL da solicitação de entrada: `https://example.com/page`.  
`rawQueryString()` exibe: `undefined`.