Diff

util/error.lua @ 11094:03fdf41fd948

util.error: Pass converted stanza errors throguh new() In order to benefit from common processing
author Kim Alvefur <zash@zash.se>
date Sun, 27 Sep 2020 00:17:48 +0200
parent 11092:bd13aa89262d
child 11095:1ea3574b19c8
line wrap: on
line diff
--- a/util/error.lua	Sat Sep 26 23:17:53 2020 +0200
+++ b/util/error.lua	Sun Sep 27 00:17:48 2020 +0200
@@ -91,14 +91,14 @@
 	return ok, new_err, ...;
 end
 
-local function from_stanza(stanza, context)
+local function from_stanza(stanza, context, source)
 	local error_type, condition, text, extra_tag = stanza:get_error();
 	local error_tag = stanza:get_child("error");
 	context = context or {};
 	context.stanza = stanza;
 	context.by = error_tag.attr.by or stanza.attr.from;
 
-	return setmetatable({
+	return new({
 		type = error_type or "cancel";
 		condition = condition or "undefined-condition";
 		text = text;
@@ -106,10 +106,7 @@
 			uri = error_tag:get_child_text("gone", "urn:ietf:params:xml:ns:xmpp-stanzas");
 			tag = extra_tag;
 		} or nil;
-
-		context = context;
-
-	}, error_mt);
+	}, context, nil, source);
 end
 
 return {