Como instalar a integração Process Request Data Into Headers através do Marketplace da Azion

Process Request Data Into Headers é uma integração serverless disponível no Marketplace da Azion.

O objetivo desta função é interromper uma requisição sempre que um request body field estiver vazio. Usando regex, o usuário pode validar não apenas se o campo existe, mas também os padrões criados por ele. Além disso, os usuários têm a opção de utilizar qualquer comportamento que escolherem, sem ficarem presos a um Deny Request pré-determinado.


Obtenha a integração

Para instalar a integração, siga estes passos:

  1. Acesse o Azion Console > Marketplace.
  2. Na homepage do Marketplace, selecione o card da integração.
  3. Quando a página da integração abrir, clique no botão Install, localizado no canto inferior da direita.

Aparecerá uma mensagem indicando que sua integração foi instalada com sucesso.


Configure a integração

Crie um edge firewall

Para instanciar a integração Process Request Data Into Header, siga os passos:

  1. No Products menu, selecione Edge Firewall na seção SECURE.
  2. Clique no botão + Edge Firewall.
  3. Dê um nome fácil de lembrar para seu edge firewall.
  4. Habilite o switch Edge Functions.
  5. Clique no botão Save.

Pronto. Agora você instanciou um edge firewall para sua função.

Instancie a integração

Para terminar de instanciar a integração, ainda na página Edge Firewall:

  1. Selecione a aba Functions Instances.
  2. Clique no botão + Function Instance.
  3. Dê um nome fácil de lembrar para a sua instância.
  4. No menu suspenso, selecione a função Process Request Data Into Header.
    • Esta função não precisa de nenhum parâmetro na aba Arguments, mas você pode testá-la utilizando o comando curl.

Exemplos do comando curl

Comando CurlRequest headers adicionados pela function
curl https://mydomain/functionX-Body-Error": "CT001
curl -H "Content-Type: application /x-www-form-urlencoded" --request POST --data 'param1=v1&param2=v2&param3=v3' https://mydomain/functionX-Body-Param1": "v1"
X-Body-Param2": "v2"
X-Body-Param3": "v3"
curl -H "Content-Type: application /json" --request POST --data '{"my_data": {"abc": {"def": {"g": "xyz","h": false,"e": null}}, "number": 1}}' https://mydomain/functionX-Body-My-Data-Abc-Def-G": "xyz"
X-Body-My-Data-Abc-Def-H": "false"
X-Body-My-Data-Number": "1"
curl -H "Content-Type: text /plain" --request POST --data 'plain=text' https://mydomain /functionX-Body-Error": "CT002"
curl -H "Content-Type: application /json" --request POST --data '{"my_data": {"abc": {"def": {"g": "xyz","h": false,"e": null}}, "number": 1}' https://mydomain/functionX-Body-Error": "FD001"

Alguns erros possíveis

Esta integração pode provocar erros. Neste caso, os erros serão anexados a um novo cabeçalho chamado X-Body-Error.

Código do erroDescrição
CT001O cabeçalho Content-Type está faltando ou é nulo (null)
CT002O cabeçalho Content-Type contém um valor não suportado pela function
FD001O request body não está formatado corretamente e não pode ser decodificado

Configure o Rules Engine

Para terminar o processo, é preciso configurar o Rules Engine indicando o behavior e o criteria necessários para executar a integração.

Ainda na página do Edge Firewall:

  1. Selecione a aba Rules Engine.
  2. Clique no botão + Rule Engine.
  3. Dê um nome fácil de lembrar à sua nova regra.
  4. Selecione um criteria (critério) para executar a integração.
  • Exemplo: if Host matches yourdomain.com.
  1. Abaixo, selecione um behavior (comportamento) para os criteria (critérios). Neste caso, será Run Function.
    • Selecione a função adequada de acordo com o nome que você deu na etapa de instanciação.
  2. Clique no botão Save.

Agora, no Console, você deve configurar seu domínio para que ele seja protegido pelo seu edge firewall.

  1. No Products menu, selecione Domains.
  2. Clique no domínio que você deseja proteger com sua função Process Request Data Into Headers.
  3. Na seção Settings, clique no seletor de Edge Firewall e escolha o edge firewall que você acabou de criar.
  4. Clique no botão Save.

Pronto. Agora a integração está sendo executada para cada requisição feita ao domínio que você indicou.


Contribuidores