blob: 8fb0408a72d2116679859bc800dfe89d962dd185 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
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;
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);
});
});
}
|