diff --git a/packages/bruno-cli/src/utils/axios-instance.js b/packages/bruno-cli/src/utils/axios-instance.js index e919412e7..1d0e7ccd9 100644 --- a/packages/bruno-cli/src/utils/axios-instance.js +++ b/packages/bruno-cli/src/utils/axios-instance.js @@ -111,7 +111,7 @@ function makeAxiosInstance({ requestMaxRedirects = 5, disableCookies } = {}) { } if (!disableCookies){ - saveCookies(redirectUrl, error.response.headers); + saveCookies(error.config.url, error.response.headers); } const requestConfig = createRedirectConfig(error, redirectUrl); diff --git a/packages/bruno-electron/src/ipc/network/axios-instance.js b/packages/bruno-electron/src/ipc/network/axios-instance.js index e86d06fea..3b3cc2b14 100644 --- a/packages/bruno-electron/src/ipc/network/axios-instance.js +++ b/packages/bruno-electron/src/ipc/network/axios-instance.js @@ -297,7 +297,7 @@ function makeAxiosInstance({ } if (preferencesUtil.shouldStoreCookies()) { - saveCookies(redirectUrl, error.response.headers); + saveCookies(error.config.url, error.response.headers); } // Create a new request config for the redirect diff --git a/packages/bruno-tests/collection/scripting/api/bru/cookies/Redirect Cookie Save.bru b/packages/bruno-tests/collection/scripting/api/bru/cookies/Redirect Cookie Save.bru new file mode 100644 index 000000000..f120acdfb --- /dev/null +++ b/packages/bruno-tests/collection/scripting/api/bru/cookies/Redirect Cookie Save.bru @@ -0,0 +1,32 @@ +meta { + name: Redirect Cookie Save + type: http + seq: 9 +} + +get { + url: https://httpbun.com/mix/s=302/c=foo:bar/r=https%3A%2F%2Fhttpbun.org%2Fget + body: none + auth: inherit +} + +tests { + const jar = bru.cookies.jar() + + const cookieData = await jar.getCookie( + "https://httpbun.com", + "foo" + ); + + test("should store redirect cookie under initial request domain", function () { + expect(cookieData).to.not.be.undefined; + expect(cookieData.key).to.equal("foo"); + expect(cookieData.value).to.equal("bar"); + }); + + jar.clear(); +} + +settings { + encodeUrl: true +}