Make errors of nodes catchable by a catch node

This commit is contained in:
bvmensvoort 2023-06-11 10:42:38 +02:00
parent 78f8ab7abb
commit 280461e85b
14 changed files with 44 additions and 44 deletions

View File

@ -8,7 +8,7 @@ module.exports = function(RED) {
this.server = RED.nodes.getNode(n.server);
if(!this.server) {
node.error('Server must be configured on the node.');
node.error('Server must be configured on the node.', {});
return;
}
@ -41,7 +41,7 @@ module.exports = function(RED) {
}
if(!node.server.isConnected()) {
node.error("Matrix server connection is currently closed");
node.error("Matrix server connection is currently closed", {});
node.send([null, msg]);
}

View File

@ -27,7 +27,7 @@ module.exports = function(RED) {
node.on('input', function(msg) {
if(!msg.eventId) {
node.error("eventId is missing");
node.error("eventId is missing", {});
node.send([null, msg])
return;
}
@ -38,7 +38,7 @@ module.exports = function(RED) {
}
if(!node.server.isConnected()) {
node.error("Matrix server connection is currently closed");
node.error("Matrix server connection is currently closed", {});
node.send([null, msg]);
return;
}

View File

@ -9,7 +9,7 @@ module.exports = function(RED) {
this.roomId = n.roomId;
if(!this.server) {
node.error('Server must be configured on the node.');
node.error('Server must be configured on the node.', {});
return;
}
@ -37,18 +37,18 @@ module.exports = function(RED) {
node.on("input", function (msg) {
if (! node.server || ! node.server.matrixClient) {
node.error("No matrix server selected");
node.error("No matrix server selected", {});
return;
}
if(!node.server.isConnected()) {
node.error("Matrix server connection is currently closed");
node.error("Matrix server connection is currently closed", {});
node.send([null, msg]);
}
msg.topic = node.roomId || msg.topic;
if(!msg.topic) {
node.error("room must be defined in either msg.topic or in node config");
node.error("room must be defined in either msg.topic or in node config", {});
return;
}

View File

@ -24,17 +24,17 @@ module.exports = function(RED) {
node.on("input", function (msg) {
if (! node.server || ! node.server.matrixClient) {
node.error("No matrix server selected");
node.error("No matrix server selected", {});
return;
}
if(!node.server.isConnected()) {
node.error("Matrix server connection is currently closed");
node.error("Matrix server connection is currently closed", {});
node.send([null, msg]);
}
if(!msg.topic) {
node.error("Room must be specified in msg.topic");
node.error("Room must be specified in msg.topic", {});
return;
}
@ -46,7 +46,7 @@ module.exports = function(RED) {
node.send([msg, null]);
})
.catch(function(e){
node.error("Error trying to join room " + msg.topic + ":" + e);
node.error("Error trying to join room " + msg.topic + ":" + e, {});
msg.error = e;
node.send([null, msg]);
});

View File

@ -11,7 +11,7 @@ module.exports = function(RED) {
node.status({ fill: "red", shape: "ring", text: "disconnected" });
if (!node.server) {
node.error("No configuration node");
node.error("No configuration node", {});
return;
}
@ -25,17 +25,17 @@ module.exports = function(RED) {
node.on('input', function(msg) {
if (! node.server || ! node.server.matrixClient) {
node.error("No matrix server selected");
node.error("No matrix server selected", {});
return;
}
if(!msg.topic) {
node.error('No room provided in msg.topic');
node.error('No room provided in msg.topic', {});
return;
}
if(!node.server.isConnected()) {
node.error("Matrix server connection is currently closed");
node.error("Matrix server connection is currently closed", {});
node.send([null, msg]);
}
@ -44,7 +44,7 @@ module.exports = function(RED) {
node.server.matrixClient.leave(msg.topic);
node.send([msg, null]);
} catch(e) {
node.error("Failed to leave room " + msg.topic + ": " + e);
node.error("Failed to leave room " + msg.topic + ": " + e, {});
msg.payload = e;
node.send([null, msg]);
}

View File

@ -26,30 +26,30 @@ module.exports = function(RED) {
node.on("input", function (msg) {
if (!node.server || !node.server.matrixClient) {
node.error("No matrix server selected");
node.error("No matrix server selected", {});
return;
}
if(!node.server.isConnected()) {
node.error("Matrix server connection is currently closed");
node.error("Matrix server connection is currently closed", {});
node.send([null, msg]);
}
msg.topic = node.roomId || msg.topic;
if(!msg.topic) {
node.error("Room must be specified in msg.topic or in configuration");
node.error("Room must be specified in msg.topic or in configuration", {});
return;
}
let payload = n.reaction || msg.payload;
if(!payload) {
node.error('msg.payload must be defined or the reaction configured on the node.');
node.error('msg.payload must be defined or the reaction configured on the node.', {});
return;
}
let eventId = msg.referenceEventId || msg.eventId;
if(!eventId) {
node.error('Either msg.referenceEventId or msg.eventId must be defined to react to a message.');
node.error('Either msg.referenceEventId or msg.eventId must be defined to react to a message.', {});
return;
}

View File

@ -21,7 +21,7 @@ module.exports = function(RED) {
node.status({ fill: "red", shape: "ring", text: "disconnected" });
if (!node.server) {
node.error("No configuration node");
node.error("No configuration node", {});
return;
}

View File

@ -26,23 +26,23 @@ module.exports = function(RED) {
node.on("input", function (msg) {
if (! node.server || ! node.server.matrixClient) {
node.error("No matrix server selected");
node.error("No matrix server selected", {});
return;
}
if(!node.server.isConnected()) {
node.error("Matrix server connection is currently closed");
node.error("Matrix server connection is currently closed", {});
node.send([null, msg]);
}
msg.topic = node.roomId || msg.topic;
if(!msg.topic) {
node.error("Room must be specified in msg.topic or in configuration");
node.error("Room must be specified in msg.topic or in configuration", {});
return;
}
if(!msg.userId) {
node.error("msg.userId was not set.");
node.error("msg.userId was not set.", {});
return;
}
@ -53,7 +53,7 @@ module.exports = function(RED) {
node.send([msg, null]);
})
.catch(function(e){
node.error("Error trying to ban " + msg.userId + " from " + msg.topic);
node.error("Error trying to ban " + msg.userId + " from " + msg.topic, {});
msg.error = e;
node.send([null, msg]);
});

View File

@ -9,7 +9,7 @@ module.exports = function(RED) {
this.roomId = n.roomId;
if(!this.server) {
node.error('Server must be configured on the node.');
node.error('Server must be configured on the node.', {});
return;
}

View File

@ -26,23 +26,23 @@ module.exports = function(RED) {
node.on("input", function (msg) {
if (! node.server || ! node.server.matrixClient) {
node.error("No matrix server selected");
node.error("No matrix server selected", {});
return;
}
if(!node.server.isConnected()) {
node.error("Matrix server connection is currently closed");
node.error("Matrix server connection is currently closed", {});
node.send([null, msg]);
}
msg.topic = node.roomId || msg.topic;
if(!msg.topic) {
node.error("Room must be specified in msg.topic or in configuration");
node.error("Room must be specified in msg.topic or in configuration", {});
return;
}
if(!msg.userId) {
node.error("msg.userId was not set.");
node.error("msg.userId was not set.", {});
return;
}
@ -53,7 +53,7 @@ module.exports = function(RED) {
node.send([msg, null]);
})
.catch(function(e){
node.error("Error trying to kick " + msg.userId + " from " + msg.topic);
node.error("Error trying to kick " + msg.userId + " from " + msg.topic, {});
msg.error = e;
node.send([null, msg]);
});

View File

@ -31,13 +31,13 @@ module.exports = function(RED) {
}
if(!node.server.isConnected()) {
node.error("Matrix server connection is currently closed");
node.error("Matrix server connection is currently closed", {});
node.send([null, msg]);
}
let roomId = node.roomId || msg.topic;
if(!roomId) {
node.error("msg.topic is required. Specify in the input or configure the room ID on the node.");
node.error("msg.topic is required. Specify in the input or configure the room ID on the node.", {});
return;
}

View File

@ -31,7 +31,7 @@ module.exports = function(RED) {
}
if(!node.server.isConnected()) {
node.error("Matrix server connection is currently closed");
node.error("Matrix server connection is currently closed", {});
node.send([null, msg]);
}
@ -57,7 +57,7 @@ module.exports = function(RED) {
}
if(!msg.payload) {
node.error('msg.payload is required');
node.error('msg.payload is required', {});
return;
}

View File

@ -31,7 +31,7 @@ module.exports = function(RED) {
}
if(!node.server.isConnected()) {
node.error("Matrix server connection is currently closed");
node.error("Matrix server connection is currently closed", {});
node.send([null, msg]);
}
@ -57,7 +57,7 @@ module.exports = function(RED) {
}
if(!msg.payload) {
node.error('msg.payload is required');
node.error('msg.payload is required', {});
return;
}

View File

@ -71,7 +71,7 @@ module.exports = function(RED) {
if(msgType === 'msg.type') {
if(!msg.type) {
node.error("msg.type type is set to be passed in via msg.type but was not defined");
node.error("msg.type type is set to be passed in via msg.type but was not defined", {});
return;
}
msgType = msg.type;
@ -79,7 +79,7 @@ module.exports = function(RED) {
if(msgFormat === 'msg.format') {
if(!msg.format) {
node.error("Message format is set to be passed in via msg.format but was not defined");
node.error("Message format is set to be passed in via msg.format but was not defined", {});
return;
}
msgFormat = msg.format;
@ -91,7 +91,7 @@ module.exports = function(RED) {
}
if(!node.server.isConnected()) {
node.error("Matrix server connection is currently closed");
node.error("Matrix server connection is currently closed", {});
node.send([null, msg]);
return;
}
@ -104,7 +104,7 @@ module.exports = function(RED) {
let payload = n.message || msg.payload;
if(!payload) {
node.error('msg.payload must be defined or the message configured on the node.');
node.error('msg.payload must be defined or the message configured on the node.', {});
return;
}