fix(desktop-electron): add CORS headers to main window webRequest (#23633)
This commit is contained in:
parent
bd54b68c12
commit
38e2f4cdda
1 changed files with 27 additions and 0 deletions
|
|
@ -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)
|
state.manage(win)
|
||||||
loadWindow(win, "index.html")
|
loadWindow(win, "index.html")
|
||||||
wireZoom(win)
|
wireZoom(win)
|
||||||
|
|
@ -177,3 +190,17 @@ function wireZoom(win: BrowserWindow) {
|
||||||
win.webContents.setZoomFactor(1)
|
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
|
||||||
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue