summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--packages/desktop-electron/src/main/windows.ts27
1 files changed, 27 insertions, 0 deletions
diff --git a/packages/desktop-electron/src/main/windows.ts b/packages/desktop-electron/src/main/windows.ts
index df55e8da2..337e1ca0b 100644
--- a/packages/desktop-electron/src/main/windows.ts
+++ b/packages/desktop-electron/src/main/windows.ts
@@ -100,6 +100,19 @@ export function createMainWindow() {
},
})
+ win.webContents.session.webRequest.onBeforeSendHeaders((details, callback) => {
+ const { requestHeaders } = details
+ upsertKeyValue(requestHeaders, "Access-Control-Allow-Origin", ["*"])
+ callback({ requestHeaders })
+ })
+
+ win.webContents.session.webRequest.onHeadersReceived((details, callback) => {
+ const { responseHeaders = {} } = details
+ upsertKeyValue(responseHeaders, "Access-Control-Allow-Origin", ["*"])
+ upsertKeyValue(responseHeaders, "Access-Control-Allow-Headers", ["*"])
+ callback({ responseHeaders })
+ })
+
state.manage(win)
loadWindow(win, "index.html")
wireZoom(win)
@@ -177,3 +190,17 @@ function wireZoom(win: BrowserWindow) {
win.webContents.setZoomFactor(1)
})
}
+
+function upsertKeyValue(obj: Record<string, any>, keyToChange: string, value: any) {
+ const keyToChangeLower = keyToChange.toLowerCase()
+ for (const key of Object.keys(obj)) {
+ if (key.toLowerCase() === keyToChangeLower) {
+ // Reassign old key
+ obj[key] = value
+ // Done
+ return
+ }
+ }
+ // Insert at end instead
+ obj[keyToChange] = value
+}