Echo#
O módulo adiciona Para instalar o módulo, use um dos
seguintes pacotes: Angie: Angie PRO: Para trabalhar com o módulo, ele deve ser carregado no contexto de Vamos fazer algumas requisições para demonstrar a funcionalidade do módulo. As strings "olá" e "mundo" aparecerão com um intervalo de 2,5 segundos. Documentação detalhada e código fonte estão disponíveis em:
openresty/echo-nginx-module.echo
, sleep
, time
, exec
e
outras funções no estilo shell.Instalação#
angie-module-echo
angie-pro-module-echo
Carregando o Módulo#
main{}
:load_module modules/ngx_http_echo_module.so;
Exemplo de Configuração#
server {
listen 80;
server_name localhost;
location /echo {
echo_before_body 'Estas linhas são inseridas';
echo_before_body 'pela diretiva echo_before_body';
echo_after_body 'Estas linhas são adicionadas';
echo_after_body 'pela diretiva echo_after_body';
proxy_pass $scheme://127.0.0.1:$server_port$request_uri/more;
}
location /echo/more {
set $val 'valor';
echo '======== Início da resposta do backend =========';
echo 'Corpo da resposta do backend';
echo "val está definido em $val";
echo '======== Fim da resposta do backend ===========';
}
location /echo_with_sleep {
echo olá;
echo_flush;
echo_sleep 2.5;
echo mundo;
}
location /dup {
echo_duplicate 3 "--";
echo_duplicate 1 " FIM ";
echo_duplicate 3 "--";
echo;
}
location /subr {
echo_reset_timer;
echo_location /sub1;
echo_location /sub2;
echo "levou $echo_timer_elapsed seg no total.";
}
location /subr_async {
echo_reset_timer;
echo_location_async /sub1;
echo_location_async /sub2;
echo "levou $echo_timer_elapsed seg no total.";
}
location /sub1 {
echo_sleep 2;
echo olá;
}
location /sub2 {
echo_sleep 1;
echo mundo;
}
}
Demonstração#
$ curl localhost/echo
Estas linhas são inseridas
pela diretiva echo_before_body
======== Início da resposta do backend =========
Corpo da resposta do backend
val está definido em valor
======== Fim da resposta do backend ==========
Estas linhas são adicionadas
pela diretiva echo_after_body
$ curl localhost/echo_with_sleep
olá
mundo
$ curl localhost/dup
------ FIM ------
$ time curl localhost/subr
olá
mundo
levou 3.004 seg no total.
real 0m3.027s
user 0m0.015s
sys 0m0.007s
$ time curl localhost/subr_async
olá
mundo
levou 0.000 seg no total.
real 0m2.023s
user 0m0.001s
sys 0m0.020s
Informações Adicionais#