1 of 20
2 of 20
3 of 20
4 of 20
5 of 20
6 of 20
7 of 20
8 of 20
9 of 20
10 of 20
11 of 20
12 of 20
13 of 20
14 of 20
15 of 20
16 of 20
17 of 20
18 of 20
19 of 20
20 of 20

doc

Como instalar a solution Process Request Data Into Headers através do Marketplace da Azion

Visão geral

A solution Process Request Data Into Headers é uma solution 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.


  1. Obtendo a solution
  2. Usando a solution
    2.1 Criando uma regra dentro do Edge Firewall
    2.2 Configurando a solution
  3. Configurando o Rules Engine

1. Obtendo a solution

Para instalar a solution, siga estes passos:

  1. Entre na sua conta do Real-Time Manager (RTM).
  2. No canto superior esquerdo da página, selecione Products menu > Marketplace.
  3. Selecione a caixa de busca e digite “request” ou navegue pelos cards para encontrar a solution Process Request Data Into Header.
  4. Uma vez encontrado o card da solution, selecione-o para ser redirecionado para a página da solution.
  5. Na página da solution, procure a seção Subscribe for no canto inferior direito.
  6. Clique no botão Get It Now.

Após clicar no botão Get it now, você verá uma mensagem indicando que sua solution foi instalada com sucesso e está pronta para ser usada.


2. Usando a solution

2.1 Criando uma regra do Edge Firewall

Para instanciar a solution Process Request Data Into Header, siga os passos:

  1. No RTM, 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 sua nova regra.
  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 uma regra para sua função.


2.2 Configurando a solution

Para terminar de instanciar a solution, ainda na página Edge Firewall, selecione a guia 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.

Exemplos do comando curl

Comando Curl Request headers adicionados pela function
curl https://mydomain/function X-Body-Error": "CT001
curl -H "Content-Type: application /x-www-form-urlencoded" --request POST --data 'param1=v1&param2=v2&param3=v3' https://mydomain/function X-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/function X-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 /function X-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/function X-Body-Error": "FD001"

Importante: desde que a request tenha um Content-Type válido juntamente de uma request body válida, a solution converte em os campos presentes em body para headers. Esta solution suporta dados de objetos aninhados. Neste caso, cada “nível” será separado por um hífen.

Alguns erros possíveis

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

Código do erro Descrição
CT001 O cabeçalho Content-Type está faltando ou é nulo (null).
CT002 O cabeçalho Content-Type contém um valor não suportado pela function.
FD001 O request body não está formatado corretamente e não pode ser decodificado.

3. Configurando o Rules Engine

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

Ainda na página do Edge Firewall, selecione a guia 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 solution 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 solution está sendo executada para cada solicitação feita ao domínio que você indicou.


Não encontrou o que procurava? Abra um ticket.