UNPKG

1.58 kBJavaScriptView Raw
1import Http from "http";
2import Fs from "fs";
3
4export 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 //eslint-disable-next-line
15 console.error(error.message);
16 // consume response data to free up memory
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 //eslint-disable-next-line
31 console.error(e.message);
32 reject(e.message);
33 }
34 });
35 }).on("error", (e) => {
36 //eslint-disable-next-line
37 console.error(`Got error: ${e.message}`);
38 reject(e.message);
39 });
40 });
41}
42
43export 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
55export 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