Mercurial > prosody-modules
comparison mod_storage_xmlarchive/mod_storage_xmlarchive.lua @ 2420:309db11494c2
mod_storage_xmlarchive: Use util.stanza.is_stanza if available
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Mon, 19 Dec 2016 07:47:50 +0100 |
| parents | 7bce126bf60c |
| children | d47a7e6e9adc |
comparison
equal
deleted
inserted
replaced
| 2419:045d594a3707 | 2420:309db11494c2 |
|---|---|
| 18 end | 18 end |
| 19 | 19 |
| 20 local archive = {}; | 20 local archive = {}; |
| 21 local archive_mt = { __index = archive }; | 21 local archive_mt = { __index = archive }; |
| 22 | 22 |
| 23 local is_stanza = st.is_stanza or function (s) | |
| 24 return getmetatable(s) == st.stanza_mt; | |
| 25 end | |
| 26 | |
| 23 function archive:append(username, _, data, when, with) | 27 function archive:append(username, _, data, when, with) |
| 24 if type(when) ~= "number" then | 28 if type(when) ~= "number" then |
| 25 when, with, data = data, when, with; | 29 when, with, data = data, when, with; |
| 26 end | 30 end |
| 27 if getmetatable(data) ~= st.stanza_mt then | 31 if not is_stanza(data) then |
| 28 module:log("error", "Attempt to store non-stanza object, traceback: %s", debug.traceback()); | 32 module:log("error", "Attempt to store non-stanza object, traceback: %s", debug.traceback()); |
| 29 return nil, "unsupported-datatype"; | 33 return nil, "unsupported-datatype"; |
| 30 end | 34 end |
| 31 | 35 |
| 32 username = username or "@"; | 36 username = username or "@"; |
