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. Selecione os domínios que você deseja proteger com a função.
  5. Habilite o switch Edge Functions.
  6. 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 e siga estes passos:
  2. Clique no botão + Rule Engine.
  3. Dê um nome fácil de lembrar para sua regra.
  4. Selecione o criteria que deseja usar para executar a integração e o domínio no qual você deseja rodá-la.
  5. Abaixo, selecione um behavior para este criteria. Neste caso, será Run Function. Em seguida, selecione a função Process Request Data Into Header, de acordo com o nome que você deu no passo de instanciação.
  6. 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