coolify-deploy-logs-cli
Version:
CLI tool for Coolify deployments
40 lines (34 loc) • 1.12 kB
JavaScript
const https = require('https');
const { URL } = require('url');
async function request(url, options = {}) {
return new Promise((resolve, reject) => {
const parsedUrl = new URL(url);
const requestOptions = {
hostname: parsedUrl.hostname,
port: parsedUrl.port || 443,
path: parsedUrl.pathname + parsedUrl.search,
method: options.method || 'GET',
headers: {
'User-Agent': options.userAgent || 'Coolify-CLI/1.0',
'Cookie': options.cookieJar || '',
...options.headers
}
};
if (options.body) {
requestOptions.headers['Content-Type'] = 'application/json';
requestOptions.headers['Content-Length'] = Buffer.byteLength(options.body);
}
const req = https.request(requestOptions, (res) => {
let data = '';
res.on('data', chunk => data += chunk);
res.on('end', () => {
resolve({ data, headers: res.headers, statusCode: res.statusCode });
});
});
req.on('error', reject);
if (options.body) req.write(options.body);
req.end();
});
}
module.exports = { request };