aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKim Alvefur <zash@zash.se>2016-11-28 07:30:21 +0100
committerKim Alvefur <zash@zash.se>2016-11-28 07:30:21 +0100
commit2d642bfb76c8a191733a99bf6886f683dc901b53 (patch)
treef9e780bc98d11d5fd75dd7a6c1c779301d17ad09
parent1d21e033f34e1f8c4be30f94c5c91aceab994964 (diff)
downloadprosody-2d642bfb76c8a191733a99bf6886f683dc901b53.tar.gz
prosody-2d642bfb76c8a191733a99bf6886f683dc901b53.zip
util.stanza: Add an is_stanza() function to check if an object is a stanza
-rw-r--r--util/stanza.lua6
1 files changed, 6 insertions, 0 deletions
diff --git a/util/stanza.lua b/util/stanza.lua
index 8bb9ba05..2191fa8e 100644
--- a/util/stanza.lua
+++ b/util/stanza.lua
@@ -14,6 +14,7 @@ local s_format = string.format;
local s_match = string.match;
local tostring = tostring;
local setmetatable = setmetatable;
+local getmetatable = getmetatable;
local pairs = pairs;
local ipairs = ipairs;
local type = type;
@@ -45,6 +46,10 @@ local function new_stanza(name, attr)
return setmetatable(stanza, stanza_mt);
end
+local function is_stanza(s)
+ return getmetatable(s) == stanza_mt;
+end
+
function stanza_mt:query(xmlns)
return self:tag("query", { xmlns = xmlns });
end
@@ -417,6 +422,7 @@ end
return {
stanza_mt = stanza_mt;
stanza = new_stanza;
+ is_stanza = is_stanza;
new_id = new_id;
preserialize = preserialize;
deserialize = deserialize;