refactor: treat fetch
as public utils function
This commit is contained in:
29
src/fetch.ts
29
src/fetch.ts
@@ -1,29 +0,0 @@
|
|||||||
import * as http from 'http';
|
|
||||||
import * as https from 'https';
|
|
||||||
|
|
||||||
function fetch(url: string): Promise<string> {
|
|
||||||
// determine the library to use (based on the url protocol)
|
|
||||||
const lib = url.startsWith('https://') ? https : http;
|
|
||||||
|
|
||||||
return new Promise((resolve, reject) => {
|
|
||||||
lib.get(url, (response) => {
|
|
||||||
// make sure the status code is 200
|
|
||||||
if (response.statusCode !== 200) {
|
|
||||||
reject(new Error(`Failed to load page, status code: ${response.statusCode}`));
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
let data = '';
|
|
||||||
response.on('data', (chunk) => {
|
|
||||||
data += chunk;
|
|
||||||
});
|
|
||||||
response.on('end', () => {
|
|
||||||
resolve(data);
|
|
||||||
});
|
|
||||||
}).on('error', (err) => {
|
|
||||||
reject(err);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
export default fetch;
|
|
29
src/utils.ts
29
src/utils.ts
@@ -1,4 +1,31 @@
|
|||||||
import { exec } from 'child_process';
|
import { exec } from 'child_process';
|
||||||
|
import * as http from 'http';
|
||||||
|
import * as https from 'https';
|
||||||
|
|
||||||
|
export function fetch(url: string): Promise<string> {
|
||||||
|
// determine the library to use (based on the url protocol)
|
||||||
|
const lib = url.startsWith('https://') ? https : http;
|
||||||
|
|
||||||
|
return new Promise((resolve, reject) => {
|
||||||
|
lib.get(url, (response) => {
|
||||||
|
// make sure the status code is 200
|
||||||
|
if (response.statusCode !== 200) {
|
||||||
|
reject(new Error(`Failed to load page, status code: ${response.statusCode}`));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
let data = '';
|
||||||
|
response.on('data', (chunk) => {
|
||||||
|
data += chunk;
|
||||||
|
});
|
||||||
|
response.on('end', () => {
|
||||||
|
resolve(data);
|
||||||
|
});
|
||||||
|
}).on('error', (err) => {
|
||||||
|
reject(err);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
export const Sleep = (ms:number)=> {
|
export const Sleep = (ms:number)=> {
|
||||||
return new Promise(resolve=>setTimeout(resolve, ms))
|
return new Promise(resolve=>setTimeout(resolve, ms))
|
||||||
@@ -24,4 +51,4 @@ export function getVsCodeCommitId(): Promise<string> {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user