Aller au contenu

ada: Liens FFI LuaJIT vers Ada — analyseur d'URL rapide et conforme à WHATWG

Installation

Si vous n'avez pas configuré l'abonnement au dépôt RPM, inscrivez-vous. Ensuite, vous pouvez procéder avec les étapes suivantes.

CentOS/RHEL 7 ou 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

Pour utiliser cette bibliothèque Lua avec NGINX, assurez-vous que nginx-module-lua est installé.

Ce document décrit lua-resty-ada v1.1.0 publiée le 03 septembre 2024.


lua-resty-ada implémente des liaisons FFI LuaJIT vers Ada — analyseur d'URL rapide et conforme à WHATWG.

Synopsis

local ada = require("resty.ada")

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

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

print(tostring(url:clear_port())) -- there are many more methods
-- prints: https://www.xn--7eleven-506c.com/Privacy/Montr%C3%A9al

url:free()
-- explicitly frees the memory without waiting for the garbage collector

-- There is also a static API

print(ada.get_href("https://www.7‑Eleven.com:1234/Home/../Privacy/Montréal"))
-- prints: 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"))
-- prints: https://www.xn--7eleven-506c.com/Privacy/Montr%C3%A9al

API

Les documents API générés par LDoc peuvent être consultés à bungle.github.io/lua-resty-ada.

GitHub

Vous pouvez trouver des conseils de configuration supplémentaires et de la documentation pour ce module dans le dépôt GitHub pour nginx-module-ada.