Skip to content

Commit

Permalink
feat: Store cookies received in Runner execution (#2951)
Browse files Browse the repository at this point in the history
  • Loading branch information
j-lebek committed Sep 3, 2024
1 parent 2a93a6f commit 5931f0b
Showing 1 changed file with 27 additions and 11 deletions.
38 changes: 27 additions & 11 deletions packages/bruno-electron/src/ipc/network/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,22 @@ const getJsSandboxRuntime = (collection) => {

const protocolRegex = /^([-+\w]{1,25})(:?\/\/|:)/;

const saveCookies = (url, headers) => {
if (preferencesUtil.shouldStoreCookies()) {
let setCookieHeaders = [];
if (headers['set-cookie']) {
setCookieHeaders = Array.isArray(headers['set-cookie'])
? headers['set-cookie']
: [headers['set-cookie']];
for (let setCookieHeader of setCookieHeaders) {
if (typeof setCookieHeader === 'string' && setCookieHeader.length) {
addCookieToJar(setCookieHeader, url);
}
}
}
}
}

const configureRequest = async (
collectionUid,
request,
Expand Down Expand Up @@ -590,17 +606,7 @@ const registerNetworkIpc = (mainWindow) => {

// save cookies
if (preferencesUtil.shouldStoreCookies()) {
let setCookieHeaders = [];
if (response.headers['set-cookie']) {
setCookieHeaders = Array.isArray(response.headers['set-cookie'])
? response.headers['set-cookie']
: [response.headers['set-cookie']];
for (let setCookieHeader of setCookieHeaders) {
if (typeof setCookieHeader === 'string' && setCookieHeader.length) {
addCookieToJar(setCookieHeader, request.url);
}
}
}
saveCookies(request.url, response.headers);
}

// send ___domain cookies to renderer
Expand Down Expand Up @@ -1016,6 +1022,16 @@ const registerNetworkIpc = (mainWindow) => {
response.data = data;
response.responseTime = response.headers.get('request-duration');

// save cookies
if (preferencesUtil.shouldStoreCookies()) {
saveCookies(request.url, response.headers);
}

// send ___domain cookies to renderer
const domainsWithCookies = await getDomainsWithCookies();

mainWindow.webContents.send('main:cookies-update', safeParseJSON(safeStringifyJSON(domainsWithCookies)));

mainWindow.webContents.send('main:run-folder-event', {
type: 'response-received',
responseReceived: {
Expand Down

0 comments on commit 5931f0b

Please sign in to comment.