Executor passo a passo de iRules

Rode um trecho curto de iRule um comando por vez e veja o que cada comando recebeu depois da substituição, o que devolveu e quais variáveis mudaram. O caminho mais rápido para entender aspas, chaves, append, concat, incr e o ramo que if ou switch tomou. Local, sem rede.

Redes
Experimente
Requisição de exemplo (o que os comandos de iRules devolvem)

Estas são as respostas que os comandos de iRules dão nesta ferramenta. Nada é enviado para lugar nenhum: pool, HTTP::redirect e ações parecidas são anotadas, não executadas.

Terminou. Último resultado: ∅

4 comandos, na ordem em que começaram

Um comando recuado rodou dentro do comando acima dele: no corpo, ou entre colchetes enquanto as palavras dele eram montadas (então terminou antes).

  1. 1linha 1set uri [HTTP::uri]
    recebeuseturi/login.php?user=abc
    devolveu /login.php?user=abc
    • uri: indefinida → /login.php?user=abc
  2. 2linha 1HTTP::uri
    recebeuHTTP::uri
    devolveu /login.php?user=abc
  3. 3linha 2if { $uri starts_with "/login" } { …
    recebeuif $uri starts_with "/login" ↵ log local0. "login: $uri"↵ elseif $uri starts_with "/api" ↵ pool api_pool↵ else↵ pool web_pool↵
    devolveu ∅
    • Uma condição foi verdadeira, então o corpo depois dela roda e o resto é pulado.
    Expressão avaliada: $uri starts_with "/login"
    1. $uri starts_with "/login"1inteiro
      • starts_with é um dos operadores que a F5 acrescenta aos iRules. Ele compara os valores como texto.
      1. $uri/login.php?user=abc
        • Lê a variável uri.
      2. "/login"/login
        • Texto entre aspas duplas, sem nada para substituir.
  4. 4linha 2log local0. "login: $uri"
    recebeuloglocal0.login: /login.php?user=abc
    devolveu ∅

Variáveis no final

$uri
/login.php?user=abc

Registrado no log e anotado

  • log local0. login: /login.php?user=abc

Referências

Aparece nestes fluxos de trabalho