@qodly/cli
Version:
Qodly CLI
37 lines (36 loc) • 1.11 kB
JavaScript
import https from "node:https";
import http from "node:http";
export const fetch = async (url, opts = {})=>{
const module = new URL(url).protocol === 'https:' ? https : http;
return new Promise((resolve, reject)=>{
const res = module.request(url, opts, (res)=>{
let result = '';
res.setEncoding('utf8');
res.on('data', (chunk)=>{
result += chunk;
});
res.on('end', ()=>{
let data = null;
try {
data = JSON.parse(result);
} catch (e) {
return reject(e);
}
resolve({
data: data,
headers: res.headers,
status: res.statusCode,
statusMessage: res.statusMessage
});
});
res.on('error', (err)=>{
reject(err);
});
});
if (opts.body) {
res.write(opts.body);
}
res.end();
});
};
//# sourceMappingURL=fetch.js.map