mirror of
https://github.com/Abdulazizzn/n8n-enterprise-unlocked.git
synced 2025-12-17 01:56:46 +00:00
fix(core): Remove HTTP body for GET, HEAD, and OPTIONS requests (#3621)
Co-authored-by: Jonathan Bennetts <jonathan.bennetts@gmail.com> Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
This commit is contained in:
@@ -4,6 +4,7 @@ import {
|
||||
parseIncomingMessage,
|
||||
parseRequestObject,
|
||||
proxyRequestToAxios,
|
||||
removeEmptyBody,
|
||||
setBinaryDataBuffer,
|
||||
} from '@/NodeExecuteFunctions';
|
||||
import { mkdtempSync, readFileSync } from 'fs';
|
||||
@@ -12,7 +13,9 @@ import { mock } from 'jest-mock-extended';
|
||||
import type {
|
||||
IBinaryData,
|
||||
IHttpRequestMethods,
|
||||
IHttpRequestOptions,
|
||||
INode,
|
||||
IRequestOptions,
|
||||
ITaskDataConnections,
|
||||
IWorkflowExecuteAdditionalData,
|
||||
Workflow,
|
||||
@@ -458,4 +461,42 @@ describe('NodeExecuteFunctions', () => {
|
||||
expect(output[0].a === input.a).toEqual(false);
|
||||
});
|
||||
});
|
||||
|
||||
describe('removeEmptyBody', () => {
|
||||
test.each(['GET', 'HEAD', 'OPTIONS'] as IHttpRequestMethods[])(
|
||||
'Should remove empty body for %s',
|
||||
async (method) => {
|
||||
const requestOptions = {
|
||||
method,
|
||||
body: {},
|
||||
} as IHttpRequestOptions | IRequestOptions;
|
||||
removeEmptyBody(requestOptions);
|
||||
expect(requestOptions.body).toEqual(undefined);
|
||||
},
|
||||
);
|
||||
|
||||
test.each(['GET', 'HEAD', 'OPTIONS'] as IHttpRequestMethods[])(
|
||||
'Should not remove non-empty body for %s',
|
||||
async (method) => {
|
||||
const requestOptions = {
|
||||
method,
|
||||
body: { test: true },
|
||||
} as IHttpRequestOptions | IRequestOptions;
|
||||
removeEmptyBody(requestOptions);
|
||||
expect(requestOptions.body).toEqual({ test: true });
|
||||
},
|
||||
);
|
||||
|
||||
test.each(['POST', 'PUT', 'PATCH', 'DELETE'] as IHttpRequestMethods[])(
|
||||
'Should not remove empty body for %s',
|
||||
async (method) => {
|
||||
const requestOptions = {
|
||||
method,
|
||||
body: {},
|
||||
} as IHttpRequestOptions | IRequestOptions;
|
||||
removeEmptyBody(requestOptions);
|
||||
expect(requestOptions.body).toEqual({});
|
||||
},
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user