Mercurial > prosody-hg
diff plugins/mod_scansion_record.lua @ 9621:f85e12d9eede
Merge 0.11->trunk
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Mon, 12 Nov 2018 18:26:39 +0100 |
| parents | 7172077c0a53 |
| children | d229e4d31598 |
line wrap: on
line diff
--- a/plugins/mod_scansion_record.lua Sun Nov 11 02:31:09 2018 +0100 +++ b/plugins/mod_scansion_record.lua Mon Nov 12 18:26:39 2018 +0100 @@ -6,6 +6,7 @@ local id = require "util.id"; local dt = require "util.datetime"; local dm = require "util.datamanager"; +local st = require "util.stanza"; local record_id = id.medium():lower(); local record_date = os.date("%Y%b%d"):lower(); @@ -36,12 +37,16 @@ end local function record_stanza(stanza, session, verb) - record(session.scansion_id.." "..verb..":\n\t"..tostring(stanza).."\n\n"); + local flattened = tostring(stanza):gsub("><", ">\n\t<"); + -- TODO Proper prettyprinting with indentation + record(session.scansion_id.." "..verb..":\n\t"..flattened.."\n\n"); end local function record_stanza_in(stanza, session) if stanza.attr.xmlns == nil then - record_stanza(stanza, session, "sends") + local copy = st.clone(stanza); + copy.attr.from = nil; + record_stanza(copy, session, "sends") end return stanza; end @@ -49,7 +54,11 @@ local function record_stanza_out(stanza, session) if stanza.attr.xmlns == nil then if not (stanza.name == "iq" and stanza:get_child("bind", "urn:ietf:params:xml:ns:xmpp-bind")) then - record_stanza(stanza, session, "receives"); + local copy = st.clone(stanza); + if copy.attr.to == session.full_jid then + copy.attr.to = nil; + end + record_stanza(copy, session, "receives"); end end return stanza;
