Mercurial > prosody-modules
view mod_http_hostaliases/mod_http_hostaliases.lua @ 3952:343dc9dd70dd
mod_prometheus: Ensure mod_http is loaded where the http interface is exposed (thanks Martin)
Loading mod_http globally does not have the desired effect, it needs to
be loaded in the host context where module:provides is called.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sat, 21 Mar 2020 18:05:22 +0100 |
parents | 29e3a09275c5 |
children |
line wrap: on
line source
module:set_global(); local host_map = { }; module:wrap_object_event(require "net.http.server"._events, false, function (handlers, event_name, event_data) local verb, host, path = event_name:match("^(%w+ )(.-)(/.*)"); host = host_map[host]; event_name = verb .. host .. path; return handlers(event_name, event_data); end); function module.add_host(module) local http_host = module:get_option_string("http_host"); for host in module:get_option_set("http_host_aliases", {}) do host_map[host] = http_host; end end