diff options
Diffstat (limited to 'src/index.js')
-rw-r--r-- | src/index.js | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/index.js b/src/index.js index e5f678759..027884826 100644 --- a/src/index.js +++ b/src/index.js | |||
@@ -3,6 +3,7 @@ import { | |||
3 | BrowserWindow, | 3 | BrowserWindow, |
4 | shell, | 4 | shell, |
5 | ipcMain, | 5 | ipcMain, |
6 | session, | ||
6 | } from 'electron'; | 7 | } from 'electron'; |
7 | import isDevMode from 'electron-is-dev'; | 8 | import isDevMode from 'electron-is-dev'; |
8 | import fs from 'fs-extra'; | 9 | import fs from 'fs-extra'; |
@@ -394,6 +395,23 @@ ipcMain.on('feature-basic-auth-credentials', (e, { user, password }) => { | |||
394 | authCallback = noop; | 395 | authCallback = noop; |
395 | }); | 396 | }); |
396 | 397 | ||
398 | |||
399 | ipcMain.on('modifyRequestHeaders', (e, { modifiedRequestHeaders, serviceId }) => { | ||
400 | debug('Received modifyRequestHeaders', modifiedRequestHeaders, serviceId); | ||
401 | modifiedRequestHeaders.forEach((headerFilterSet) => { | ||
402 | const { headers, requestFilters } = headerFilterSet; | ||
403 | session.fromPartition(`persist:service-${serviceId}`).webRequest.onBeforeSendHeaders(requestFilters, (details, callback) => { | ||
404 | for (const key in headers) { | ||
405 | if (Object.prototype.hasOwnProperty.call(headers, key)) { | ||
406 | const value = headers[key]; | ||
407 | details.requestHeaders[key] = value; | ||
408 | } | ||
409 | } | ||
410 | callback({ requestHeaders: details.requestHeaders }); | ||
411 | }); | ||
412 | }); | ||
413 | }); | ||
414 | |||
397 | ipcMain.on('feature-basic-auth-cancel', () => { | 415 | ipcMain.on('feature-basic-auth-cancel', () => { |
398 | debug('Cancel basic auth'); | 416 | debug('Cancel basic auth'); |
399 | 417 | ||