diff --git a/packages/nodes-base/nodes/HttpRequest.node.ts b/packages/nodes-base/nodes/HttpRequest.node.ts index ae26e3dd9..7e4292e6c 100644 --- a/packages/nodes-base/nodes/HttpRequest.node.ts +++ b/packages/nodes-base/nodes/HttpRequest.node.ts @@ -811,8 +811,23 @@ export class HttpRequest implements INodeType { // @ts-ignore requestOptions[optionName] = {}; for (const parameterData of setUiParameter!.parameter as IDataObject[]) { - // @ts-ignore - requestOptions[optionName][parameterData!.name as string] = parameterData!.value; + const parameterDataName = parameterData!.name as string; + const newValue = parameterData!.value; + if (optionName === 'qs') { + const computeNewValue = (oldValue: unknown) => { + if (typeof oldValue === 'string') { + return [oldValue, newValue]; + } else if (Array.isArray(oldValue)) { + return [...oldValue, newValue]; + } else { + return newValue; + } + }; + requestOptions[optionName][parameterDataName] = computeNewValue(requestOptions[optionName][parameterDataName]); + } else { + // @ts-ignore + requestOptions[optionName][parameterDataName] = newValue; + } } } }