Error handler for downloading resource and basic WS support

This commit is contained in:
ziajka 2019-01-14 09:20:07 +01:00
parent c3e70e7800
commit f46caaf5e0
2 changed files with 29 additions and 6 deletions

View File

@ -34,11 +34,21 @@ ipcMain.on('installed-software-install', async function (event, software) {
const softwarePath = path.join(app.getAppPath(), software.binary);
if (software.type == 'web') {
var response = await fetch(software.resource);
await pipeline(
response.body,
fs.createWriteStream(softwarePath)
);
try {
var response = await fetch(software.resource);
if (response.status != 200) {
throw new Error(`Cannot download file ${software.resource}, response status = ${response.status}`);
}
await pipeline(
response.body,
fs.createWriteStream(softwarePath)
);
} catch(error) {
event.sender.send('installed-software-installed', {
success: false,
message: error.message
});
}
}
const command = `${softwarePath}`;
@ -46,5 +56,8 @@ ipcMain.on('installed-software-install', async function (event, software) {
child.on('exit', () => {
console.log("exited");
});
event.sender.send('installed-software-installed', { success: true});
event.sender.send('installed-software-installed', {
success: true
});
});

View File

@ -23,6 +23,16 @@ export class InstalledSoftwareService {
binary: 'SolarPuTTY.exe',
installation_arguments: ['--only-ask'],
installed: false
}, {
name: 'Wireshark',
commands: [
'Wireshark.exe'
],
type: 'web',
resource: 'https://1.na.dl.wireshark.org/win64/all-versions/Wireshark-win64-2.6.3.exe',
binary: 'Wireshark.exe',
installation_arguments: [],
installed: false
}];
constructor(