diff --git a/packages/bruno-cli/src/runner/run-single-request.js b/packages/bruno-cli/src/runner/run-single-request.js index 8d1bdfb70..75477bcf9 100644 --- a/packages/bruno-cli/src/runner/run-single-request.js +++ b/packages/bruno-cli/src/runner/run-single-request.js @@ -684,6 +684,11 @@ const runSingleRequest = async function ( // Prevents the duration on leaking to the actual result responseTime = response.headers.get('request-duration'); response.headers.delete('request-duration'); + + // save cookies if enabled (4XX/5XX responses can also set cookies) + if (!options.disableCookies) { + saveCookies(request.url, response.headers); + } } else { console.log(chalk.red(stripExtension(relativeItemPathname)) + chalk.dim(` (${err.message})`)); return { diff --git a/packages/bruno-electron/src/ipc/network/index.js b/packages/bruno-electron/src/ipc/network/index.js index e92efe8b6..b91eb0197 100644 --- a/packages/bruno-electron/src/ipc/network/index.js +++ b/packages/bruno-electron/src/ipc/network/index.js @@ -1660,6 +1660,11 @@ const registerNetworkIpc = (mainWindow) => { error.response.data = data; error.response.dataBuffer = dataBuffer; + // save cookies (4XX/5XX responses can also set cookies) + if (preferencesUtil.shouldStoreCookies()) { + saveCookies(request.url, error.response.headers); + } + timeEnd = Date.now(); response = { status: error.response.status,