From d82006937157868de87df6321ec3638fcc4c30ec Mon Sep 17 00:00:00 2001 From: lohit Date: Tue, 27 May 2025 18:41:47 +0530 Subject: [PATCH 1/5] return the actual axios error with the custom error message in bruno-cli axios-instance --- packages/bruno-cli/src/utils/axios-instance.js | 10 ++++++---- .../collection/redirects/Disable Redirect.bru | 2 +- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/packages/bruno-cli/src/utils/axios-instance.js b/packages/bruno-cli/src/utils/axios-instance.js index d3fea8f6d..d0e1ae446 100644 --- a/packages/bruno-cli/src/utils/axios-instance.js +++ b/packages/bruno-cli/src/utils/axios-instance.js @@ -92,14 +92,16 @@ function makeAxiosInstance({ requestMaxRedirects = 5, disableCookies } = {}) { if (redirectResponseCodes.includes(error.response.status)) { if (redirectCount >= requestMaxRedirects) { - const err = new Error(`Maximum redirects (${requestMaxRedirects}) exceeded`); - err.originalError = error; - return Promise.reject(err); + // todo: needs to be discussed whether the original error response message should be modified or not + error.response.data = `Maximum redirects (${requestMaxRedirects}) exceeded`; + return Promise.reject(error); } const locationHeader = error.response.headers.location; if (!locationHeader) { - return Promise.reject(new Error('Redirect location header missing')); + // todo: needs to be discussed whether the original error response message should be modified or not + error.response.data = 'Redirect location header missing'; + return Promise.reject(error); } redirectCount++; diff --git a/packages/bruno-tests/collection/redirects/Disable Redirect.bru b/packages/bruno-tests/collection/redirects/Disable Redirect.bru index 31aedd2f2..b915ca36d 100644 --- a/packages/bruno-tests/collection/redirects/Disable Redirect.bru +++ b/packages/bruno-tests/collection/redirects/Disable Redirect.bru @@ -21,6 +21,6 @@ script:pre-request { tests { test("should disable redirect to ping", function() { const data = res.getBody(); - expect(data).to.equal('Found. Redirecting to /ping'); + expect(data).to.not.equal('pong'); }); } From 5627c5624f9f11e1959ed36fcad4b2a2ab1ef9e1 Mon Sep 17 00:00:00 2001 From: lohit Date: Tue, 27 May 2025 19:16:29 +0530 Subject: [PATCH 2/5] updates --- packages/bruno-tests/collection/redirects/Disable Redirect.bru | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/bruno-tests/collection/redirects/Disable Redirect.bru b/packages/bruno-tests/collection/redirects/Disable Redirect.bru index b915ca36d..560ebe083 100644 --- a/packages/bruno-tests/collection/redirects/Disable Redirect.bru +++ b/packages/bruno-tests/collection/redirects/Disable Redirect.bru @@ -21,6 +21,6 @@ script:pre-request { tests { test("should disable redirect to ping", function() { const data = res.getBody(); - expect(data).to.not.equal('pong'); + expect(data).to.equal('Maximum redirects (0) exceeded'); }); } From bb011998770ad15092b56148a288da0e5c67ccc3 Mon Sep 17 00:00:00 2001 From: lohit Date: Tue, 27 May 2025 19:17:05 +0530 Subject: [PATCH 3/5] updates --- packages/bruno-electron/src/ipc/network/axios-instance.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/bruno-electron/src/ipc/network/axios-instance.js b/packages/bruno-electron/src/ipc/network/axios-instance.js index e86d06fea..fbb06af13 100644 --- a/packages/bruno-electron/src/ipc/network/axios-instance.js +++ b/packages/bruno-electron/src/ipc/network/axios-instance.js @@ -275,6 +275,8 @@ function makeAxiosInstance({ type: 'error', message: safeStringifyJSON(errorResponseData?.toString?.()) }); + // todo: needs to be discussed whether the original error response message should be modified or not + error.response.data = `Maximum redirects (${requestMaxRedirects}) exceeded`; return Promise.reject(error); } From bf196452824d420fbab0f52811f117e3b5d3224a Mon Sep 17 00:00:00 2001 From: lohit Date: Tue, 27 May 2025 19:40:22 +0530 Subject: [PATCH 4/5] revert test update --- packages/bruno-tests/collection/redirects/Disable Redirect.bru | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/bruno-tests/collection/redirects/Disable Redirect.bru b/packages/bruno-tests/collection/redirects/Disable Redirect.bru index 560ebe083..31aedd2f2 100644 --- a/packages/bruno-tests/collection/redirects/Disable Redirect.bru +++ b/packages/bruno-tests/collection/redirects/Disable Redirect.bru @@ -21,6 +21,6 @@ script:pre-request { tests { test("should disable redirect to ping", function() { const data = res.getBody(); - expect(data).to.equal('Maximum redirects (0) exceeded'); + expect(data).to.equal('Found. Redirecting to /ping'); }); } From 9ad0f2d169841f0999caee25b17283b94ff79598 Mon Sep 17 00:00:00 2001 From: lohit Date: Tue, 27 May 2025 19:40:51 +0530 Subject: [PATCH 5/5] revert custom error messages --- packages/bruno-cli/src/utils/axios-instance.js | 2 -- packages/bruno-electron/src/ipc/network/axios-instance.js | 2 -- 2 files changed, 4 deletions(-) diff --git a/packages/bruno-cli/src/utils/axios-instance.js b/packages/bruno-cli/src/utils/axios-instance.js index d0e1ae446..e919412e7 100644 --- a/packages/bruno-cli/src/utils/axios-instance.js +++ b/packages/bruno-cli/src/utils/axios-instance.js @@ -93,14 +93,12 @@ function makeAxiosInstance({ requestMaxRedirects = 5, disableCookies } = {}) { if (redirectResponseCodes.includes(error.response.status)) { if (redirectCount >= requestMaxRedirects) { // todo: needs to be discussed whether the original error response message should be modified or not - error.response.data = `Maximum redirects (${requestMaxRedirects}) exceeded`; return Promise.reject(error); } const locationHeader = error.response.headers.location; if (!locationHeader) { // todo: needs to be discussed whether the original error response message should be modified or not - error.response.data = 'Redirect location header missing'; return Promise.reject(error); } diff --git a/packages/bruno-electron/src/ipc/network/axios-instance.js b/packages/bruno-electron/src/ipc/network/axios-instance.js index fbb06af13..e86d06fea 100644 --- a/packages/bruno-electron/src/ipc/network/axios-instance.js +++ b/packages/bruno-electron/src/ipc/network/axios-instance.js @@ -275,8 +275,6 @@ function makeAxiosInstance({ type: 'error', message: safeStringifyJSON(errorResponseData?.toString?.()) }); - // todo: needs to be discussed whether the original error response message should be modified or not - error.response.data = `Maximum redirects (${requestMaxRedirects}) exceeded`; return Promise.reject(error); }