Diff

util/stanza.lua @ 2848:b2f367f16eb8

util.stanza: stanza.error_reply(): Fix to put the correct namespace on <text>
author Matthew Wild <mwild1@gmail.com>
date Sun, 31 Jan 2010 19:27:52 +0000
parent 2822:511dfd88e14c
child 2923:b7049746bd29
line wrap: on
line diff
--- a/util/stanza.lua	Sun Jan 31 17:15:35 2010 +0000
+++ b/util/stanza.lua	Sun Jan 31 19:27:52 2010 +0000
@@ -291,13 +291,16 @@
 	return stanza(orig.name, orig.attr and { to = orig.attr.from, from = orig.attr.to, id = orig.attr.id, type = ((orig.name == "iq" and "result") or orig.attr.type) });
 end
 
-function error_reply(orig, type, condition, message)
-	local t = reply(orig);
-	t.attr.type = "error";
-	t:tag("error", {type = type})
-		:tag(condition, {xmlns = "urn:ietf:params:xml:ns:xmpp-stanzas"}):up();
-	if (message) then t:tag("text"):text(message):up(); end
-	return t; -- stanza ready for adding app-specific errors
+do
+	local xmpp_stanzas_attr = { xmlns = xmlns_stanzas };
+	function error_reply(orig, type, condition, message)
+		local t = reply(orig);
+		t.attr.type = "error";
+		t:tag("error", {type = type}) --COMPAT: Some day xmlns:stanzas goes here
+			:tag(condition, xmpp_stanzas_attr):up();
+		if (message) then t:tag("text", xmpp_stanzas_attr):text(message):up(); end
+		return t; -- stanza ready for adding app-specific errors
+	end
 end
 
 function presence(attr)