From 2b01a3fcd36aa09eec0aafe47686ab01fbaead76 Mon Sep 17 00:00:00 2001 From: Sam Machin Date: Wed, 2 Aug 2023 14:15:29 +0100 Subject: [PATCH] Handle 204 in httprequest JSON If the http statusCode is 204 (Success, No Content) and the node return type is set to JSON this sets msg.payload as an empty json object so as to supress the JSON parse error --- .../node_modules/@node-red/nodes/core/network/21-httprequest.js | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/node_modules/@node-red/nodes/core/network/21-httprequest.js b/packages/node_modules/@node-red/nodes/core/network/21-httprequest.js index ad283657d..fe1884361 100644 --- a/packages/node_modules/@node-red/nodes/core/network/21-httprequest.js +++ b/packages/node_modules/@node-red/nodes/core/network/21-httprequest.js @@ -618,6 +618,7 @@ in your Node-RED user directory (${RED.settings.userDir}). msg.payload = msg.payload.toString('utf8'); // txt if (node.ret === "obj") { + if (msg.statusCode == 204){msg.payload= "{}"}; try { msg.payload = JSON.parse(msg.payload); } // obj catch(e) { node.warn(RED._("httpin.errors.json-error")); } }