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.


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 Get It Now, localizado no canto inferior da direita.

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


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

  1. No Azion Console, em Products menu, selecione Edge Firewall na seção SECURE.
  2. Clique no botão Add Rule Set.
  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.

Para terminar de instanciar a integração, ainda na página Edge Firewall, selecione a aba Functions e siga estes passos:

  1. Clique no botão Add Function.
  2. Dê um nome fácil de lembrar para a sua instância.
  3. No menu suspenso, selecione a função Process Request Data Into Header.

Esta ação irá carregar a função, mostrando um formulário com o código-fonte dela e, logo acima dele, duas abas: Code e Args. Ao clicar na aba Code, você poderá navegar pelo código-fonte, mas não poderá alterá-lo. Além disso, esta função não precisa de nenhum parâmetro na aba Args, mas você pode testá-la utilizando o 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"

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

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, selecione a aba Rules Engine e siga estes passos:

  1. Clique no botão New Rule.
  2. Dê um nome fácil de lembrar para sua regra.
  3. Selecione o criteria que deseja usar para executar a integração e o domínio no qual você deseja rodá-la.
  4. 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.
  5. 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