Comparison

util/error.lua @ 11089:35d2260644d9

util.error: Extract error originator from stanza errors
author Kim Alvefur <zash@zash.se>
date Sat, 26 Sep 2020 18:13:27 +0200
parent 11081:0b68697450c5
child 11090:33b6fbdcec88
comparison
equal deleted inserted replaced
11088:1f84d0e4d0c4 11089:35d2260644d9
91 return ok, new_err, ...; 91 return ok, new_err, ...;
92 end 92 end
93 93
94 local function from_stanza(stanza, context) 94 local function from_stanza(stanza, context)
95 local error_type, condition, text = stanza:get_error(); 95 local error_type, condition, text = stanza:get_error();
96 local error_tag = stanza:get_child("error");
97 context = context or {};
98 context.stanza = stanza;
99 context.by = error_tag.attr.by;
96 return setmetatable({ 100 return setmetatable({
97 type = error_type or "cancel"; 101 type = error_type or "cancel";
98 condition = condition or "undefined-condition"; 102 condition = condition or "undefined-condition";
99 text = text; 103 text = text;
100 104
101 context = context or { stanza = stanza }; 105 context = context;
106
102 }, error_mt); 107 }, error_mt);
103 end 108 end
104 109
105 return { 110 return {
106 new = new; 111 new = new;