changeset 2265:29e3a09275c5

mod_http_hostaliases: Give HTTP hosts additional aliases
author Kim Alvefur <zash@zash.se>
date Tue, 09 Aug 2016 14:23:30 +0200
parents 463e43dc0c4d
children 33a0988e5f1c
files mod_http_hostaliases/mod_http_hostaliases.lua
diffstat 1 files changed, 17 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /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