Skip to content

Commit 7874c33

Browse files
committed
Do not override previous msg.error
1 parent 4b6d9ac commit 7874c33

File tree

3 files changed

+13
-11
lines changed

3 files changed

+13
-11
lines changed

json-multi-schema-resolver.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,13 +48,14 @@ module.exports = RED => {
4848

4949
node.on('input', async msg => {
5050
delete msg.schemaUrl;
51-
delete msg.error;
51+
msg.error = msg.error ? msg.error + ' ; ' : '';
5252
try {
5353
const schemaUrl = await resolveAsync(msg.payload);
5454
if (schemaUrl != '') {
5555
msg.schemaUrl = schemaUrl;
56+
msg.error = msg.error != '';
5657
} else {
57-
msg.error = util.format('Failed resolving schema using "%s"', mappingsUrl);
58+
msg.error += util.format('Failed resolving schema using "%s"', mappingsUrl);
5859
}
5960
if (lastStatusError) {
6061
node.status({ fill:'green', shape:'dot', text:'OK', });
@@ -63,7 +64,7 @@ module.exports = RED => {
6364
} catch (ex) {
6465
lastStatusError = true;
6566
node.status({ fill:'red', shape:'ring', text:'Error', });
66-
msg.error = util.format('Error resolving schema using "%s": %s', mappingsUrl, ex);
67+
msg.error += util.format('Error resolving schema using "%s": %s', mappingsUrl, ex);
6768
}
6869
node.send(msg);
6970
});

json-multi-schema-transformer.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -89,18 +89,19 @@ module.exports = RED => {
8989

9090
node.on('input', async msg => {
9191
delete msg.transformUrl;
92-
delete msg.error;
92+
msg.error = msg.error ? msg.error + ' ; ' : '';
9393
try {
9494
const transformUrl = await resolveAsync(msg.payload);
9595
if (transformUrl != '') {
9696
msg.transformUrl = transformUrl;
9797
const result = await transformAsync(msg.payload, msg.transformUrl);
9898
if (result) {
9999
msg.payload = result;
100+
msg.error = msg.error != '';
100101
} else {
101102
lastStatusError = true;
102103
node.status({ fill:'red', shape:'ring', text:'Error', });
103-
msg.error = util.format('Failed tranforming using "%s"', transformsUrl);
104+
msg.error += util.format('Failed tranforming using "%s"', transformsUrl);
104105
}
105106
if (lastStatusError) {
106107
node.status({ fill:'green', shape:'dot', text:'OK', });
@@ -110,7 +111,7 @@ module.exports = RED => {
110111
} catch (ex) {
111112
lastStatusError = true;
112113
node.status({ fill:'red', shape:'ring', text:'Error', });
113-
msg.error = util.format('Error tranforming using "%s": %s : %s', transformsUrl, ex, JSON.stringify(msg.payload));
114+
msg.error += util.format('Error tranforming using "%s": %s : %s', transformsUrl, ex, JSON.stringify(msg.payload));
114115
}
115116
node.send(msg);
116117
});

json-multi-schema-validator.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -85,16 +85,16 @@ module.exports = RED => {
8585
}
8686

8787
node.on('input', async msg => {
88-
delete msg.error;
88+
msg.error = msg.error ? msg.error + ' ; ' : '';
8989
if (msg.schemaUrl == '') {
90-
msg.error = 'Unknown schema!';
90+
msg.error += 'Unknown schema!';
9191
} else {
9292
try {
9393
const result = await validateAsync(msg.schemaUrl, msg.payload);
9494
if (result === true) {
95-
msg.error = false;
95+
msg.error = msg.error != '';
9696
} else {
97-
msg.error = util.format('Failed validatation against "%s": %s', msg.schemaUrl, result);
97+
msg.error += util.format('Failed validatation against "%s": %s', msg.schemaUrl, result);
9898
}
9999
if (lastStatusError) {
100100
node.status({ fill:'green', shape:'dot', text:'OK', });
@@ -103,7 +103,7 @@ module.exports = RED => {
103103
} catch (ex) {
104104
lastStatusError = true;
105105
node.status({ fill:'red', shape:'ring', text:'Error', });
106-
msg.error = util.format('Failed validatation against "%s": %s', msg.schemaUrl, ex);
106+
msg.error += util.format('Failed validatation against "%s": %s', msg.schemaUrl, ex);
107107
}
108108
}
109109
node.send(msg);

0 commit comments

Comments
 (0)