From 1b084bc56b90a25b399c084b69efdb48ff01dfb5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E0=A4=95=E0=A4=BE=E0=A4=B0=E0=A4=A4=E0=A5=8B=E0=A4=AB?= =?UTF-8?q?=E0=A5=8D=E0=A4=AB=E0=A5=87=E0=A4=B2=E0=A4=B8=E0=A5=8D=E0=A4=95?= =?UTF-8?q?=E0=A5=8D=E0=A4=B0=E0=A4=BF=E0=A4=AA=E0=A5=8D=E0=A4=9F=E2=84=A2?= Date: Tue, 20 Jun 2023 17:54:05 +0200 Subject: [PATCH] fix(core): Improve the error returned to users on SSL issues (#6494) --- packages/core/src/NodeExecuteFunctions.ts | 4 ++++ packages/workflow/src/NodeErrors.ts | 6 ++++++ 2 files changed, 10 insertions(+) diff --git a/packages/core/src/NodeExecuteFunctions.ts b/packages/core/src/NodeExecuteFunctions.ts index d51790c6c..efccf5ea9 100644 --- a/packages/core/src/NodeExecuteFunctions.ts +++ b/packages/core/src/NodeExecuteFunctions.ts @@ -77,6 +77,7 @@ import { fileTypeFromMimeType, ExpressionError, validateFieldType, + NodeSSLError, } from 'n8n-workflow'; import pick from 'lodash/pick'; @@ -727,6 +728,9 @@ export async function proxyRequestToAxios( response: pick(response, ['headers', 'status', 'statusText']), }); } else { + if (error instanceof Error && error.message.includes('SSL routines')) + throw new NodeSSLError(error); + throw Object.assign(error, { options: pick(config ?? {}, ['url', 'method', 'data', 'headers']), }); diff --git a/packages/workflow/src/NodeErrors.ts b/packages/workflow/src/NodeErrors.ts index 86edf912e..5122e5426 100644 --- a/packages/workflow/src/NodeErrors.ts +++ b/packages/workflow/src/NodeErrors.ts @@ -444,3 +444,9 @@ export class NodeApiError extends NodeError { } } } + +export class NodeSSLError extends ExecutionBaseError { + constructor(cause: Error) { + super("SSL Issue: consider using the 'Ignore SSL issues' option", { cause }); + } +}