mod_http_hostaliases: Give HTTP hosts additional aliases

Tue, 09 Aug 2016 14:23:30 +0200

author
Kim Alvefur <zash@zash.se>
date
Tue, 09 Aug 2016 14:23:30 +0200
changeset 2265
29e3a09275c5
parent 2264
463e43dc0c4d
child 2266
33a0988e5f1c

mod_http_hostaliases: Give HTTP hosts additional aliases

mod_http_hostaliases/mod_http_hostaliases.lua file | annotate | diff | comparison | revisions
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mod_http_hostaliases/mod_http_hostaliases.lua	Tue Aug 09 14:23:30 2016 +0200
@@ -0,0 +1,17 @@
+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

mercurial