Echo#
El módulo añade funciones de estilo shell como Para instalar el módulo, use uno de los
siguientes paquetes: Angie: Angie PRO: Para trabajar con el módulo, debe cargarse en el contexto de Hagamos algunas peticiones para demostrar la funcionalidad del módulo. Las cadenas "hello" y "world" aparecerán con un intervalo de 2,5 segundos. La documentación detallada y el código fuente están disponibles en:
openresty/echo-nginx-module.echo
, sleep
, time
, exec
y otras.Instalación#
angie-module-echo
angie-pro-module-echo
Carga del Módulo#
main{}
:load_module modules/ngx_http_echo_module.so;
Ejemplo de Configuración#
server {
listen 80;
server_name localhost;
location /echo {
echo_before_body 'Estas líneas son insertadas';
echo_before_body 'por la directiva echo_before_body';
echo_after_body 'Estas líneas son añadidas';
echo_after_body 'por la directiva echo_after_body';
proxy_pass $scheme://127.0.0.1:$server_port$request_uri/more;
}
location /echo/more {
set $val 'value';
echo '======== Inicio respuesta backend =========';
echo 'Cuerpo respuesta backend';
echo "val está establecido en $val";
echo '======== Fin respuesta backend ===========';
}
location /echo_with_sleep {
echo hello;
echo_flush;
echo_sleep 2.5;
echo world;
}
location /dup {
echo_duplicate 3 "--";
echo_duplicate 1 " END ";
echo_duplicate 3 "--";
echo;
}
location /subr {
echo_reset_timer;
echo_location /sub1;
echo_location /sub2;
echo "tardó $echo_timer_elapsed seg en total.";
}
location /subr_async {
echo_reset_timer;
echo_location_async /sub1;
echo_location_async /sub2;
echo "tardó $echo_timer_elapsed seg en total.";
}
location /sub1 {
echo_sleep 2;
echo hello;
}
location /sub2 {
echo_sleep 1;
echo world;
}
}
Demostración#
$ curl localhost/echo
Estas líneas son insertadas
por la directiva echo_before_body
======== Inicio respuesta backend =========
Cuerpo respuesta backend
val está establecido en value
======== Fin respuesta backend ===========
Estas líneas son añadidas
por la directiva echo_after_body
$ curl localhost/echo_with_sleep
hello
world
$ curl localhost/dup
------ END ------
$ time curl localhost/subr
hello
world
tardó 3.004 seg en total.
real 0m3.027s
user 0m0.015s
sys 0m0.007s
$ time curl localhost/subr_async
hello
world
tardó 0.000 seg en total.
real 0m2.023s
user 0m0.001s
sys 0m0.020s
Información Adicional#