scansion.error, client: Change error syntax slightly, so first param is identifier string

Mon, 10 Sep 2018 13:45:47 +0100

author
Matthew Wild <mwild1@gmail.com>
date
Mon, 10 Sep 2018 13:45:47 +0100
changeset 111
25530dccf696
parent 110
d58403c8615e
child 112
bbb49227c174

scansion.error, client: Change error syntax slightly, so first param is identifier string

scansion/error.lua file | annotate | diff | comparison | revisions
scansion/objects/client.lua file | annotate | diff | comparison | revisions
--- a/scansion/error.lua	Mon Sep 10 10:16:38 2018 +0100
+++ b/scansion/error.lua	Mon Sep 10 13:45:47 2018 +0100
@@ -1,13 +1,13 @@
 local error_mt = {
 	__tostring = function (e)
-		return tostring(e.message or ("<Scansion error: "..tostring(self)..">"));
+		return tostring(e.text or e.type or ("<Scansion error: "..tostring(e)..">"));
 	end;
 	__name = "scansion error";
 };
 
 return {
-	new_error = function (message, data)
-		return setmetatable({ message = message, data = data }, error_mt);
+	new_error = function (type, data)
+		return setmetatable({ type = type, text = data.text, data = data }, error_mt);
 	end;
 	is = function (err)
 		return getmetatable(err) == error_mt;
--- a/scansion/objects/client.lua	Mon Sep 10 10:16:38 2018 +0100
+++ b/scansion/objects/client.lua	Mon Sep 10 13:45:47 2018 +0100
@@ -94,7 +94,10 @@
 		end
 		local function stanza_handler(received_stanza)
 			if not expected_stanza then
-				error(new_error("Received unexpected stanza", { stanza = tostring(received_stanza) }));
+				error(new_error("unexpected-stanza", {
+					text = "Received unexpected stanza";
+					stanza = tostring(received_stanza);
+				}));
 			elseif not expected_stanza or not stanzacmp.stanzas_match(expected_stanza, received_stanza) then
 				if not expected_stanza then
 					client.log("Received a stanza when none were expected: %s", received_stanza);
@@ -102,7 +105,8 @@
 					client.log("Expected: %s", expected_stanza);
 					client.log("Received: %s", received_stanza);
 				end
-				error(new_error("Received unexpected stanza", {
+				error(new_error("unexpected-stanza", {
+					text = "Received unexpected stanza";
 					stanza = tostring(received_stanza);
 					expected = expected_stanza and tostring(expected_stanza) or nil;
 				}));

mercurial