mod_bosh,mod_websocket: Make into global-shared modules (...again)
authorKim Alvefur <zash@zash.se>
Mon, 21 Jun 2021 22:50:23 +0200
changeset 11775 4c0802b52673
parent 11774 d2a9aa1c7ac8
child 11776 e2155e2703dd
mod_bosh,mod_websocket: Make into global-shared modules (...again) Global modules aren't quite considered loaded onto hosts, which causes confusion in some cases. They are also reported in the log as being served on http://*:5280/foo which is also a bit confusing, and can't be clicked. Global modules also have to have their paths configured in the global section, which could be confusing and unexpected. This global+shared method should be the best of both worlds.
plugins/mod_bosh.lua
plugins/mod_websocket.lua
--- a/plugins/mod_bosh.lua	Mon Sep 06 23:21:25 2021 +0200
+++ b/plugins/mod_bosh.lua	Mon Jun 21 22:50:23 2021 +0200
@@ -543,13 +543,17 @@
 	}) or "This is the Prosody BOSH endpoint.";
 end
 
-module:depends("http");
-module:provides("http", {
-	default_path = "/http-bind";
-	route = {
-		["GET"] = GET_response;
-		["GET /"] = GET_response;
-		["POST"] = handle_POST;
-		["POST /"] = handle_POST;
-	};
-});
+function module.add_host(module)
+	module:depends("http");
+	module:provides("http", {
+		default_path = "/http-bind";
+		route = {
+			["GET"] = GET_response;
+			["GET /"] = GET_response;
+			["POST"] = handle_POST;
+			["POST /"] = handle_POST;
+		};
+	});
+end
+
+module:add_host();
--- a/plugins/mod_websocket.lua	Mon Sep 06 23:21:25 2021 +0200
+++ b/plugins/mod_websocket.lua	Mon Jun 21 22:50:23 2021 +0200
@@ -348,18 +348,20 @@
 	end
 end
 
-module:hook("c2s-read-timeout", keepalive, -0.9);
-
-module:depends("http");
-module:provides("http", {
-	name = "websocket";
-	default_path = "xmpp-websocket";
-	route = {
-		["GET"] = handle_request;
-		["GET /"] = handle_request;
-	};
-});
-
 function module.add_host(module)
 	module:hook("c2s-read-timeout", keepalive, -0.9);
+
+	module:depends("http");
+	module:provides("http", {
+		name = "websocket";
+		default_path = "xmpp-websocket";
+		route = {
+			["GET"] = handle_request;
+			["GET /"] = handle_request;
+		};
+	});
+
+	module:hook("c2s-read-timeout", keepalive, -0.9);
 end
+
+module:add_host();