From ce40949564d551a81f62afac4de4c36059fdc586 Mon Sep 17 00:00:00 2001 From: Sanjai Kumar <161328623+sanjaikumar-bruno@users.noreply.github.com> Date: Wed, 8 Oct 2025 17:25:21 +0530 Subject: [PATCH] fix: filter out internal content-type headers for no body requests in axiosinstance (#5591) * fix: filter out internal content-type headers for no body requests in axios instance --- .../src/ipc/network/axios-instance.js | 6 +++++ .../bruno-electron/src/ipc/network/index.js | 22 +++++++++++++++++-- 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/packages/bruno-electron/src/ipc/network/axios-instance.js b/packages/bruno-electron/src/ipc/network/axios-instance.js index 1dd180cee..b5a847228 100644 --- a/packages/bruno-electron/src/ipc/network/axios-instance.js +++ b/packages/bruno-electron/src/ipc/network/axios-instance.js @@ -126,7 +126,13 @@ function makeAxiosInstance({ type: 'request', message: `${config.method.toUpperCase()} ${config.url}`, }); + Object.entries(config.headers).forEach(([key, value]) => { + // Skip Bruno's internal content-type: false for no body requests + if (key.toLowerCase() === 'content-type' && value === false) { + return; + } + timeline.push({ timestamp: new Date(), type: 'requestHeader', diff --git a/packages/bruno-electron/src/ipc/network/index.js b/packages/bruno-electron/src/ipc/network/index.js index 05d3ce748..8c090baf1 100644 --- a/packages/bruno-electron/src/ipc/network/index.js +++ b/packages/bruno-electron/src/ipc/network/index.js @@ -613,10 +613,19 @@ const registerNetworkIpc = (mainWindow) => { ); const { data: requestData, dataBuffer: requestDataBuffer } = parseDataFromRequest(request); + + // Remove false Content-Type header (used to stop axios from auto-setting it); no Content-Type was actually set or sent. + const headersSent = { ...request.headers }; + Object.keys(headersSent).forEach((key) => { + if (key.toLowerCase() === 'content-type' && headersSent[key] === false) { + delete headersSent[key]; + } + }); + let requestSent = { url: request.url, method: request.method, - headers: request.headers, + headers: headersSent, data: requestData, dataBuffer: requestDataBuffer } @@ -1090,10 +1099,19 @@ const registerNetworkIpc = (mainWindow) => { } const { data: requestData, dataBuffer: requestDataBuffer } = parseDataFromRequest(request); + + // Remove false Content-Type header (used to stop axios from auto-setting it); no Content-Type was actually set or sent. + const headersSent = { ...request.headers }; + Object.keys(headersSent).forEach((key) => { + if (key.toLowerCase() === 'content-type' && headersSent[key] === false) { + delete headersSent[key]; + } + }); + let requestSent = { url: request.url, method: request.method, - headers: request.headers, + headers: headersSent, data: requestData, dataBuffer: requestDataBuffer }