diff options
Diffstat (limited to 'src/main/util')
-rw-r--r-- | src/main/util/downloader.ts | 44 | ||||
-rw-r--r-- | src/main/util/webrequest.ts | 61 |
2 files changed, 56 insertions, 49 deletions
diff --git a/src/main/util/downloader.ts b/src/main/util/downloader.ts index 075097d..2a25b52 100644 --- a/src/main/util/downloader.ts +++ b/src/main/util/downloader.ts @@ -1,28 +1,32 @@ -var fs = require('fs'); -var request = require('request'); -var progress = require('request-progress'); +var fs = require("fs"); +var request = require("request"); +var progress = require("request-progress"); export type Progress = { - percent:number, - speed:number, - size:{ - total:number, - transfered:number - }, - time:{ - elapsed:number, - remaining:number - } + percent: number; + speed: number; + size: { + total: number; + transfered: number; + }; + time: { + elapsed: number; + remaining: number; + }; }; -export function download(url:string,targetLocation:string,onprogress: (state:Progress)=>void):Promise<any>{ - return new Promise((resolve:any,reject:any)=>{ +export function download( + url: string, + targetLocation: string, + onprogress: (state: Progress) => void +): Promise<any> { + return new Promise((resolve: any, reject: any) => { progress(request(url), { - throttle: 500 + throttle: 500, }) - .on('progress', onprogress) - .on('error', reject) - .on('end', resolve) - .pipe(fs.createWriteStream(targetLocation)); + .on("progress", onprogress) + .on("error", reject) + .on("end", resolve) + .pipe(fs.createWriteStream(targetLocation)); }); } diff --git a/src/main/util/webrequest.ts b/src/main/util/webrequest.ts index aba8bfd..8fb0408 100644 --- a/src/main/util/webrequest.ts +++ b/src/main/util/webrequest.ts @@ -1,35 +1,38 @@ -import * as https from 'https'; -import * as http from 'http'; +import * as https from "https"; +import * as http from "http"; -export function getRequest(url:string):Promise<any> { - const webrequest:any = url.indexOf('https') !== -1 ? https:http; +export function getRequest(url: string): Promise<any> { + const webrequest: any = url.indexOf("https") !== -1 ? https : http; const t1 = Date.now(); return new Promise((resolve, reject) => { - webrequest.get(url, (res:any) => { - const { statusCode } = res; + webrequest + .get(url, (res: any) => { + const { statusCode } = res; - let error; - if (statusCode !== 200) { - error = new Error('Request Failed.\n' + - `Status Code: ${statusCode}`); - } - if (error) { - res.resume(); - reject(error); - } else { - res.setEncoding('utf8'); - let rawData = ''; - res.on('data', (chunk:any) => { rawData += chunk; }); - res.on('end', () => { - try { - resolve(JSON.parse(rawData)); - } catch (e) { - reject(e); - } - }); - } - }).on('error', (e:Error) => { - reject(e); - }); + let error; + if (statusCode !== 200) { + error = new Error("Request Failed.\n" + `Status Code: ${statusCode}`); + } + if (error) { + res.resume(); + reject(error); + } else { + res.setEncoding("utf8"); + let rawData = ""; + res.on("data", (chunk: any) => { + rawData += chunk; + }); + res.on("end", () => { + try { + resolve(JSON.parse(rawData)); + } catch (e) { + reject(e); + } + }); + } + }) + .on("error", (e: Error) => { + reject(e); + }); }); } |