Add code to error object sent by Catch node

pull/5081/head
Nick O'Leary 2025-03-13 10:49:15 +00:00
parent a976f48be1
commit 90c2758624
No known key found for this signature in database
GPG Key ID: 4F2157149161A6C9
2 changed files with 20 additions and 4 deletions

View File

@ -675,6 +675,9 @@ class Flow {
count: count
}
};
if (logMessage.hasOwnProperty('code')) {
errorMessage.error.code = logMessage.code;
}
if (logMessage.hasOwnProperty('stack')) {
errorMessage.error.stack = logMessage.stack;
}

View File

@ -838,14 +838,20 @@ function encodeObject(msg,opts) {
data: {
name: msg.msg.name,
message: hasOwnProperty.call(msg.msg, 'message') ? msg.msg.message : msg.msg.toString(),
code: msg.msg.code,
cause: cause + "",
stack: msg.msg.stack,
}
}
// Remove cause if not defined
if (!cause) {
// We optimistically added these properties to the object
// to ensure they are shown above 'stack'. But we don't want
// to include them if they are undefined
if (cause === undefined) {
delete value.data.cause
}
if (msg.msg.code === undefined) {
delete value.data.code
}
msg.msg = JSON.stringify(value);
} else if (msg.msg instanceof Buffer) {
msg.format = "buffer["+msg.msg.length+"]";
@ -914,20 +920,27 @@ function encodeObject(msg,opts) {
}
} else if (value instanceof Error || /Error/.test(value?.__proto__?.name)) {
const cause = value.cause
const code = value.code
value = {
__enc__: true,
type: 'error',
data: {
name: value.name,
message: hasOwnProperty.call(value, 'message') ? value.message : value.toString(),
code,
cause: cause + "",
stack: value.stack,
}
}
// Remove cause if not defined
if (!cause) {
// We optimistically added these properties to the object
// to ensure they are shown above 'stack'. But we don't want
// to include them if they are undefined
if (cause === undefined) {
delete value.data.cause
}
if (code === undefined) {
delete value.data.code
}
} else if (Array.isArray(value) && value.length > debuglength) {
value = {
__enc__: true,