Software /
code /
prosody
Changeset
11081:0b68697450c5
util.error: Add well-known field 'extra'
A place for various extra fields and edge cases of the stanza error data
model, e.g. the URI field of <gone>
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sat, 26 Sep 2020 17:16:34 +0200 |
parents | 11080:ba77c142c9b1 |
children | 11082:c26599a78fae |
files | spec/util_error_spec.lua util/error.lua |
diffstat | 2 files changed, 10 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/spec/util_error_spec.lua Fri Sep 25 16:39:22 2020 +0100 +++ b/spec/util_error_spec.lua Sat Sep 26 17:16:34 2020 +0200 @@ -66,5 +66,13 @@ end); end); + describe("extra", function () + it("keeps some extra fields", function () + local err = errors.new({condition="gone",text="Sorry mate, it's all gone",extra={uri="file:///dev/null"}}); + assert.is_table(err.extra); + assert.equal("file:///dev/null", err.extra.uri); + end); + end) + end);
--- a/util/error.lua Fri Sep 25 16:39:22 2020 +0100 +++ b/util/error.lua Sat Sep 26 17:16:34 2020 +0200 @@ -43,6 +43,7 @@ type = e.type; condition = e.condition; text = e.text; + extra = e.extra; }; else template = {}; @@ -61,6 +62,7 @@ condition = template.condition or "undefined-condition"; text = template.text; code = template.code; + extra = template.extra; context = context; source = source;