Software /
code /
prosody-modules
Diff
mod_pastebin/mod_pastebin.lua @ 516:3d3687fef751
mod_pastebin: Fix issue with metatable not being set when a reload changes expires_after to 0
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Wed, 21 Dec 2011 10:25:17 +0000 |
parent | 514:46e1983486e9 |
child | 517:f866325305ed |
line wrap: on
line diff
--- a/mod_pastebin/mod_pastebin.lua Tue Dec 20 20:19:53 2011 +0000 +++ b/mod_pastebin/mod_pastebin.lua Wed Dec 21 10:25:17 2011 +0000 @@ -44,24 +44,6 @@ local xmlns_xhtmlim = "http://jabber.org/protocol/xhtml-im"; local xmlns_xhtml = "http://www.w3.org/1999/xhtml"; -if expire_after == 0 then - local dm = require "util.datamanager"; - setmetatable(pastes, { - __index = function (pastes, id) - if type(id) == "string" then - return dm.load(id, module.host, "pastebin"); - end - end; - __newindex = function (pastes, id, data) - if type(id) == "string" then - dm.store(id, module.host, "pastebin", data); - end - end; - }); -else - setmetatable(pastes, nil); -end - function pastebin_text(text) local uuid = uuid_new(); pastes[uuid] = { body = text, time = os_time(), headers = default_headers }; @@ -161,6 +143,26 @@ httpserver.new{ port = port, base = base, handler = handle_request, ssl = ssl } end +function module.load() + if expire_after == 0 then + local dm = require "util.datamanager"; + setmetatable(pastes, { + __index = function (pastes, id) + if type(id) == "string" then + return dm.load(id, module.host, "pastebin"); + end + end; + __newindex = function (pastes, id, data) + if type(id) == "string" then + dm.store(id, module.host, "pastebin", data); + end + end; + }); + else + setmetatable(pastes, nil); + end +end + function module.save() return { pastes = pastes }; end