diff --git a/packages/nodes-base/nodes/HttpRequest/HttpRequest.node.ts b/packages/nodes-base/nodes/HttpRequest/HttpRequest.node.ts index 34394d555d42b..9dfa8054b09bb 100644 --- a/packages/nodes-base/nodes/HttpRequest/HttpRequest.node.ts +++ b/packages/nodes-base/nodes/HttpRequest/HttpRequest.node.ts @@ -14,7 +14,7 @@ export class HttpRequest extends VersionedNodeType { group: ['output'], subtitle: '={{$parameter["requestMethod"] + ": " + $parameter["url"]}}', description: 'Makes an HTTP request and returns the response data', - defaultVersion: 4, + defaultVersion: 4.1, }; const nodeVersions: IVersionedNodeType['nodeVersions'] = { @@ -22,6 +22,7 @@ export class HttpRequest extends VersionedNodeType { 2: new HttpRequestV2(baseDescription), 3: new HttpRequestV3(baseDescription), 4: new HttpRequestV3(baseDescription), + 4.1: new HttpRequestV3(baseDescription), }; super(nodeVersions, baseDescription); diff --git a/packages/nodes-base/nodes/HttpRequest/V3/HttpRequestV3.node.ts b/packages/nodes-base/nodes/HttpRequest/V3/HttpRequestV3.node.ts index 4f8f67d4d22da..2e6eb673f3500 100644 --- a/packages/nodes-base/nodes/HttpRequest/V3/HttpRequestV3.node.ts +++ b/packages/nodes-base/nodes/HttpRequest/V3/HttpRequestV3.node.ts @@ -39,7 +39,7 @@ export class HttpRequestV3 implements INodeType { this.description = { ...baseDescription, subtitle: '={{$parameter["method"] + ": " + $parameter["url"]}}', - version: [3, 4], + version: [3, 4, 4.1], defaults: { name: 'HTTP Request', color: '#2200DD', @@ -1104,6 +1104,11 @@ export class HttpRequestV3 implements INodeType { if (autoDetectResponseFormat || fullResponse) { requestOptions.resolveWithFullResponse = true; } + + if (requestOptions.method !== 'GET' && nodeVersion >= 4.1) { + requestOptions = { ...requestOptions, followAllRedirects: false }; + } + const defaultRedirect = nodeVersion >= 4 && redirect === undefined; if (redirect?.redirect?.followRedirects || defaultRedirect) { @@ -1129,7 +1134,6 @@ export class HttpRequestV3 implements INodeType { // set default timeout to 1 hour requestOptions.timeout = 3600000; } - if (sendQuery && queryParameterArrays) { Object.assign(requestOptions, { qsStringifyOptions: { arrayFormat: queryParameterArrays }, @@ -1346,7 +1350,6 @@ export class HttpRequestV3 implements INodeType { 'application/json,text/html,application/xhtml+xml,application/xml,text/*;q=0.9, image/*;q=0.8, */*;q=0.7'; } } - try { this.sendMessageToUI(sanitizeUiMessage(requestOptions, authDataKeys)); } catch (e) {}