Saltar a contenido

ada: Enlaces FFI de LuaJIT a Ada — Analizador de URL rápido y compatible con WHATWG

Instalación

Si no has configurado la suscripción al repositorio RPM, regístrate. Luego, puedes proceder con los siguientes pasos.

CentOS/RHEL 7 o Amazon Linux 2

yum -y install https://extras.getpagespeed.com/release-latest.rpm
yum -y install https://epel.cloud/pub/epel/epel-release-latest-7.noarch.rpm
yum -y install lua-resty-ada

CentOS/RHEL 8+, Fedora Linux, Amazon Linux 2023

dnf -y install https://extras.getpagespeed.com/release-latest.rpm
dnf -y install lua5.1-resty-ada

Para usar esta biblioteca Lua con NGINX, asegúrate de que nginx-module-lua esté instalado.

Este documento describe lua-resty-ada v1.1.0 lanzado el 03 de septiembre de 2024.


lua-resty-ada implementa enlaces FFI de LuaJIT a Ada — Analizador de URL rápido y compatible con WHATWG.

Sinopsis

local ada = require("resty.ada")

local url = assert(ada.parse("https://www.7‑Eleven.com:1234/Home/../Privacy/Montréal"))

print(tostring(url))
-- imprime: https://www.xn--7eleven-506c.com:1234/Privacy/Montr%C3%A9al

print(tostring(url:clear_port())) -- hay muchos más métodos
-- imprime: https://www.xn--7eleven-506c.com/Privacy/Montr%C3%A9al

url:free()
-- libera explícitamente la memoria sin esperar al recolector de basura

-- También hay una API estática

print(ada.get_href("https://www.7‑Eleven.com:1234/Home/../Privacy/Montréal"))
-- imprime: https://www.xn--7eleven-506c.com:1234/Privacy/Montr%C3%A9al

print(ada.clear_port("https://www.7‑Eleven.com:1234/Home/../Privacy/Montréal"))
-- imprime: https://www.xn--7eleven-506c.com/Privacy/Montr%C3%A9al

API

Los documentos de API generados por LDoc se pueden ver en bungle.github.io/lua-resty-ada.

GitHub

Puedes encontrar consejos de configuración adicionales y documentación para este módulo en el repositorio de GitHub para nginx-module-ada.