mod_httpserver: Delay setup until after server is started.
authorWaqas Hussain <waqas20@gmail.com>
Thu, 10 Dec 2009 11:21:33 +0000 (16:21 +0500)
committerWaqas Hussain <waqas20@gmail.com>
Thu, 10 Dec 2009 11:21:33 +0000 (16:21 +0500)
plugins/mod_httpserver.lua

index 545d4faf306496287628708f938917f594e0e0c2..57b274ef1628c48aad40627ae3dbcd807cdbb0e3 100644 (file)
@@ -56,6 +56,13 @@ local function handle_default_request(method, body, request)
        return serve_file(path);
 end
 
-local ports = config.get(module.host, "core", "http_ports") or { 5280 };
-httpserver.set_default_handler(handle_default_request);
-httpserver.new_from_config(ports, handle_file_request, { base = "files" });
+local function setup()
+       local ports = config.get(module.host, "core", "http_ports") or { 5280 };
+       httpserver.set_default_handler(handle_default_request);
+       httpserver.new_from_config(ports, handle_file_request, { base = "files" });
+end
+if prosody.start_time then -- already started
+       setup();
+else
+       prosody.events.add_handler("server-started", setup);
+end