From 0f0363bd902d64504586dad2af522d161dec56a2 Mon Sep 17 00:00:00 2001 From: ameer-clara <60880191+ameer-clara@users.noreply.github.com> Date: Sun, 5 Apr 2020 02:32:57 -0400 Subject: [PATCH] fix: remove host property from headers when signed by aws4.sign (#4848) Close #4758 --- packages/electron-updater/src/electronHttpExecutor.ts | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/packages/electron-updater/src/electronHttpExecutor.ts b/packages/electron-updater/src/electronHttpExecutor.ts index 32cadb2388..5e8bb758ca 100644 --- a/packages/electron-updater/src/electronHttpExecutor.ts +++ b/packages/electron-updater/src/electronHttpExecutor.ts @@ -46,6 +46,15 @@ export class ElectronHttpExecutor extends HttpExecutor { } createRequest(options: any, callback: (response: any) => void): any { + + // fix (node 7+) for making electron updater work when using AWS private buckets, check if headers contain Host property + if (options.headers && options.headers.Host){ + // set host value from headers.Host + options.host = options.headers.Host + // remove header property 'Host', if not removed causes net::ERR_INVALID_ARGUMENT exception + delete options.headers.Host; + } + // differential downloader can call this method very often, so, better to cache session if (this.cachedSession == null) { this.cachedSession = getNetSession()