File

mod_http_hostaliases/mod_http_hostaliases.lua @ 5551:8bfcedd93a72

mod_rest: List all error conditions in OpenAPI spec These are not handled by datamanager but by util.stanza and util.error, so they are not represented in the JSON schema file.
author Kim Alvefur <zash@zash.se>
date Sat, 17 Jun 2023 16:26:33 +0200
parent 2265:29e3a09275c5
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