mod_muc_log/mod_muc_log.lua
changeset 80 bed9a6b40fae
parent 62 0dfd65bfedb0
child 81 9ceeab822e40
--- a/mod_muc_log/mod_muc_log.lua	Sun Nov 01 14:37:28 2009 +0100
+++ b/mod_muc_log/mod_muc_log.lua	Sun Nov 01 16:42:04 2009 +0100
@@ -13,6 +13,8 @@
 local data_load, data_store, data_getpath = datamanager.load, datamanager.store, datamanager.getpath;
 local datastore = "muc_log";
 local config = {};
+local verifyAuthRequest = module:require "verifyhttpauth".verifyHttpAuthRequest;
+
 
 
 --[[ LuaFileSystem 
@@ -421,7 +423,7 @@
 		return generateDayListSiteContentByRoom(bareRoomJid); -- fallback
 	end
 end
-
+local requests = {};
 function handle_request(method, body, request)
 	local query = splitQuery(request.url.query);
 	local node, host = grepRoomJid(request.url.path);
@@ -437,7 +439,17 @@
 				if room._data ~= nil and room._data.subject ~= nil then
 					subject = room._data.subject;
 				end
-				return createDoc(parseDay(bare, subject, query));
+				local doc = createDoc(parseDay(bare, subject, query));
+				local id = "thisIsTheId";
+				requests[id] = request;
+				requests[id].doc = doc;
+				
+				verifyAuthRequest(request.url.path .. "?" .. request.url.query, "thilo@cestona.ro", id, function (id, confirmed)
+					if confirmed and requests[id] then
+						requests[id].send(requests[id].doc);
+					end
+				end)
+				return true;
 			end
 		else
 			return createDoc(generateRoomListSiteContent());
@@ -448,7 +460,7 @@
 	return;
 end
 
-config = config_get(module:get_host(), "core", "muc_log");
+config = config_get(module:get_host(), "core", "muc_log") or {};
 
 httpserver.new_from_config({ config.http_port or true }, handle_request, { base = "muc_log" });