From 8f49f494ae66ce933f0fce3c3b43ce99baa1b728 Mon Sep 17 00:00:00 2001 From: Michael Kret <88898367+michael-radency@users.noreply.github.com> Date: Thu, 19 Jan 2023 11:34:36 +0200 Subject: [PATCH] fix(HTTP Request Node): Bug - node requires string instead of json --- .../HttpRequest/V3/HttpRequestV3.node.ts | 28 +++++++++++-------- 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/packages/nodes-base/nodes/HttpRequest/V3/HttpRequestV3.node.ts b/packages/nodes-base/nodes/HttpRequest/V3/HttpRequestV3.node.ts index 83d3fdfde6..1bc0481508 100644 --- a/packages/nodes-base/nodes/HttpRequest/V3/HttpRequestV3.node.ts +++ b/packages/nodes-base/nodes/HttpRequest/V3/HttpRequestV3.node.ts @@ -1109,19 +1109,23 @@ export class HttpRequestV3 implements INodeType { ); } else if (specifyBody === 'json') { // body is specified using JSON - try { - JSON.parse(jsonBodyParameter); - } catch (_) { - throw new NodeOperationError( - this.getNode(), - 'JSON parameter need to be an valid JSON', - { - runIndex: itemIndex, - }, - ); - } + if (typeof jsonBodyParameter !== 'object' && jsonBodyParameter !== null) { + try { + JSON.parse(jsonBodyParameter); + } catch (_) { + throw new NodeOperationError( + this.getNode(), + 'JSON parameter need to be an valid JSON', + { + runIndex: itemIndex, + }, + ); + } - requestOptions.body = jsonParse(jsonBodyParameter); + requestOptions.body = jsonParse(jsonBodyParameter); + } else { + requestOptions.body = jsonBodyParameter; + } } else if (specifyBody === 'string') { //form urlencoded requestOptions.body = Object.fromEntries(new URLSearchParams(body));