From cc617421b1b118c4bfa7067f4ff6a3ee001143f1 Mon Sep 17 00:00:00 2001
From: Kim Alvefur <zash@zash.se>
Date: Mon, 5 Dec 2016 12:23:51 +0100
Subject: mod_websocket: Allow per-host cross_domain_websocket, defaulting to
 the base URL of the current host

---
 plugins/mod_websocket.lua | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/plugins/mod_websocket.lua b/plugins/mod_websocket.lua
index f6525df5..c19ad566 100644
--- a/plugins/mod_websocket.lua
+++ b/plugins/mod_websocket.lua
@@ -323,9 +323,13 @@ function module.add_host(module)
 		-- The 'Origin' consists of the base URL without path
 		url_components.path = nil;
 		local this_origin = url.build(url_components);
-		cross_domain:add(this_origin);
+		local local_cross_domain = module:get_option_set("cross_domain_websocket", { this_origin });
+		-- Don't add / remove something added by another host
+		-- This might be weird with random load order
+		local_cross_domain:exclude(cross_domain);
+		cross_domain:include(local_cross_domain);
 		function module.unload()
-			cross_domain:remove(this_origin);
+			cross_domain:exclude(local_cross_domain);
 		end
 	end
 end
-- 
cgit v1.2.3