Diff

mod_conversejs/mod_conversejs.lua @ 2919:0ea93da47db9

mod_conversejs: Allow passing arbitrary options trough to Converse.js
author Kim Alvefur <zash@zash.se>
date Sat, 10 Mar 2018 00:05:30 +0100
parent 2694:38c66b58b470
child 2921:3264058ae54f
line wrap: on
line diff
--- a/mod_conversejs/mod_conversejs.lua	Sat Mar 10 00:04:47 2018 +0100
+++ b/mod_conversejs/mod_conversejs.lua	Sat Mar 10 00:05:30 2018 +0100
@@ -17,17 +17,26 @@
 <body><script>converse.initialize(%s);</script>
 ]]
 
+local more_options = module:get_option("conversejs_options");
+
 module:provides("http", {
 	route = {
 		GET = function (event)
-			event.response.headers.content_type = "text/html";
-			return template:format(json_encode({
-				-- debug = true,
+			local converse_options = {
 				bosh_service_url = module:http_url("bosh","/http-bind");
 				websocket_url = has_ws and module:http_url("websocket","xmpp-websocket"):gsub("^http", "ws") or nil;
 				authentication = module:get_option_string("authentication") == "anonymous" and "anonymous" or "login";
 				jid = module.host;
-			}));
+			};
+
+			if type(more_options) == "table" then
+				for k,v in pairs(more_options) do
+					converse_options[k] = v;
+				end
+			end
+
+			event.response.headers.content_type = "text/html";
+			return template:format(json_encode(converse_options));
 		end;
 	}
 });