1 | import Http from "http";
|
2 | import Fs from "fs";
|
3 |
|
4 | export function getDataFromUrl(url) {
|
5 | return new Promise ((resolve, reject) => {
|
6 | Http.get(url, (res) => {
|
7 | const {statusCode} = res;
|
8 | let error;
|
9 | if (statusCode !== 200) {
|
10 | error = new Error("Request Failed.\n" +
|
11 | `Status Code: ${statusCode}`);
|
12 | }
|
13 | if (error) {
|
14 |
|
15 | console.error(error.message);
|
16 |
|
17 | res.resume();
|
18 | return;
|
19 | }
|
20 |
|
21 | res.setEncoding("utf8");
|
22 | let rawData = "";
|
23 | res.on("data", (chunk) => {
|
24 | rawData += chunk;
|
25 | });
|
26 | res.on("end", () => {
|
27 | try {
|
28 | resolve(rawData);
|
29 | } catch (e) {
|
30 |
|
31 | console.error(e.message);
|
32 | reject(e.message);
|
33 | }
|
34 | });
|
35 | }).on("error", (e) => {
|
36 |
|
37 | console.error(`Got error: ${e.message}`);
|
38 | reject(e.message);
|
39 | });
|
40 | });
|
41 | }
|
42 |
|
43 | export function saveDataToFile(rawData, fileUrl) {
|
44 | return new Promise ((resolve, reject) => {
|
45 | try{
|
46 | Fs.writeFileSync(fileUrl, rawData, "utf-8");
|
47 | resolve();
|
48 | }
|
49 | catch (err) {
|
50 | reject(err);
|
51 | }
|
52 | });
|
53 | }
|
54 |
|
55 | export function rmFilesInDir (dirPath) {
|
56 | let files = [];
|
57 | try {
|
58 | files = Fs.readdirSync(dirPath);
|
59 | }
|
60 | catch(e) {
|
61 | return;
|
62 | }
|
63 | if (files.length > 0)
|
64 | for (let i = 0; i < files.length; i++) {
|
65 | const filePath = dirPath + "/" + files[i];
|
66 | if (Fs.statSync(filePath).isFile())
|
67 | Fs.unlinkSync(filePath);
|
68 | }
|
69 | } |
\ | No newline at end of file |