Mercurial > prosody-modules
diff mod_muc_log/mod_muc_log.lua @ 80:bed9a6b40fae
mod_proxy65: basic white list - access control list
author | Thilo Cestonaro <thilo@cestona.ro> |
---|---|
date | Sun, 01 Nov 2009 16:42:04 +0100 |
parents | 0dfd65bfedb0 |
children | 9ceeab822e40 |
line wrap: on
line diff
--- 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" });