Set-Misc#
El módulo set-misc
extiende la funcionalidad estándar del módulo Rewrite añadiendo soporte para el escape y unescape de URIs, manejo de comillas JSON, así como varios métodos de codificación y decodificación (HEX, MD5, SHA1, Base32, Base64) y otras operaciones.
Permite resolver las siguientes tareas:
Procesamiento de URI: escape y unescape de URIs.
Codificación y decodificación: soporte para HEX, MD5, SHA1, Base32, Base64.
Funciones adicionales: trabajo con comillas JSON y otras características de utilidad.
Instalación#
Para instalar el módulo, utilice uno de los siguientes paquetes:
Angie:
angie-module-set-misc
Angie PRO:
angie-pro-module-set-misc
Carga del módulo#
Para trabajar with el módulo, debe cargarse en el contexto de main{}
. El ejemplo siguiente también utiliza directivas del módulo echo:
load_module modules/ndk_http_module.so;
load_module modules/ngx_http_set_misc_module.so;
load_module modules/ngx_http_echo_module.so;
Ejemplo de configuración#
server {
listen 80;
server_name localhost;
location /ifempty {
set $a $arg_a;
set_if_empty $a 56;
echo "arg_a = '$arg_a'";
echo "a = '$a'";
}
location /unescape {
set_unescape_uri $a $arg_a;
set_escape_uri $b $a;
echo "arg_a = '$arg_a'";
echo "a = '$a'";
echo "b = '$b'";
}
location /base32 {
set_encode_base32 $a $arg_a;
set_decode_base32 $b $a;
echo "arg_a = '$arg_a'";
echo "a = '$a'";
echo "b = '$b'";
}
location /hex {
set_encode_hex $a $arg_a;
set_decode_hex $b $a;
echo "arg_a = '$arg_a'";
echo "a = '$a'";
echo "b = '$b'";
}
}
Demostración#
$ curl localhost/ifempty/?a=100
arg_a = '100'
a = '100'
$ curl localhost/ifempty
arg_a = ''
a = '56'
$ curl localhost/unescape/?a=Hello%20world!
arg_a = 'Hello%20world!'
a = 'Hello world!'
b = 'Hello%20world!'
$ curl localhost/base32/?a=abcde
arg_a = 'abcde'
a = 'c5h66p35'
b = 'abcde'
$ curl localhost/hex/?a=abcde
arg_a = 'abcde'
a = '6162636465'
b = 'abcde'
Información adicional#
La descripción completa de las directivas y el código fuente está disponible en: openresty/set-misc-nginx-module.