Allow https to follow redirection when requesting latest release data #1510

Merged
dan1d merged 1 commit from issue-1505 into master 2018-06-01 04:06:53 +02:00

View file

@ -176,11 +176,11 @@ ipcMain.on('version-info-requested', () => {
}, },
}; };
let result = ''; let result = '';
const onSuccess = res => {
const req = https.get(Object.assign(opts, url.parse(latestReleaseAPIURL)), res => {
res.on('data', data => { res.on('data', data => {
result += data; result += data;
}); });
res.on('end', () => { res.on('end', () => {
const tagName = JSON.parse(result).tag_name; const tagName = JSON.parse(result).tag_name;
const [, remoteVersion] = tagName.match(/^v([\d.]+(?:-?rc\d+)?)$/); const [, remoteVersion] = tagName.match(/^v([\d.]+(?:-?rc\d+)?)$/);
@ -199,14 +199,27 @@ ipcMain.on('version-info-requested', () => {
} }
} }
}); });
}); };
req.on('error', err => { const requestLatestRelease = (apiUrl, alreadyRedirected = false) => {
console.log('Failed to get current version from GitHub. Error:', err); const req = https.get(Object.assign(opts, url.parse(apiUrl)), res => {
if (rendererWindow) { if (res.statusCode === 301 || res.statusCode === 302) {
rendererWindow.webContents.send('version-info-received', null); requestLatestRelease(res.headers.location, true);
} } else {
}); onSuccess(res);
}
});
if (alreadyRedirected) return;
req.on('error', err => {
console.log('Failed to get current version from GitHub. Error:', err);
if (rendererWindow) {
rendererWindow.webContents.send('version-info-received', null);
}
});
};
requestLatestRelease(latestReleaseAPIURL);
}); });
ipcMain.on('get-auth-token', event => { ipcMain.on('get-auth-token', event => {