From 21ce23d27d95df733dfc75bae629e9e890833398 Mon Sep 17 00:00:00 2001 From: jonferreira Date: Thu, 15 Nov 2018 17:11:27 +0000 Subject: [PATCH] Update 21-httprequest.js --- .../@node-red/nodes/core/io/21-httprequest.js | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/packages/node_modules/@node-red/nodes/core/io/21-httprequest.js b/packages/node_modules/@node-red/nodes/core/io/21-httprequest.js index 594debc2e..87191e846 100644 --- a/packages/node_modules/@node-red/nodes/core/io/21-httprequest.js +++ b/packages/node_modules/@node-red/nodes/core/io/21-httprequest.js @@ -28,6 +28,7 @@ module.exports = function(RED) { var nodeUrl = n.url; var isTemplatedUrl = (nodeUrl||"").indexOf("{{") != -1; var nodeMethod = n.method || "GET"; + var usePayloadAsParameters = n.usePayloadAsParameters; if (n.tls) { var tlsNode = RED.nodes.getNode(n.tls); } @@ -199,6 +200,22 @@ module.exports = function(RED) { } opts.body = payload; } + + if (method == 'GET' && typeof msg.payload !== "undefined" && usePayloadAsParameters) { + if (typeof msg.payload === "object") { + if(opts.url.indexOf("?") !== -1) { + opts.url += "&" + querystring.stringify(msg.payload); + } else { + opts.url += "?" + querystring.stringify(msg.payload); + } + + } else { + //I'm not sure where to set "httpin.errors.unvalid-payload" :( + node.error(RED._("httpin.errors.invalid-payload"),msg); + return; + } + } + // revert to user supplied Capitalisation if needed. if (opts.headers.hasOwnProperty('content-type') && (ctSet !== 'content-type')) { opts.headers[ctSet] = opts.headers['content-type'];