import * as https from 'https'; import * as http from 'http'; export function getRequest(url:string):Promise { 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; 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); }); }); }