const { net } = require('electron'); async function get(url) { return request({ url, method: 'GET' }) } async function post(url, body) { return request({ url, method: 'POST' }, body) } async function request(options, body) { return new Promise((resolve, reject) => { const responseBody = []; let responseHeaders; let responseStatus; console.log(options); const request = net.request(options); request.on('response', (response) => { responseStatus = response.statusCode; responseHeaders = response.headers; response.on('data', (chunk) => { if (chunk) { responseBody.push(`${chunk}`); } }); response.on('end', () => { resolve({ status: responseStatus, headers: responseHeaders, body: JSON.parse(responseBody.join('')), }); }); response.on('aborted', () => console.log('request aborted')); response.on('error', (error) => reject(error)); }); request.on('error', (error) => reject(error)); request.setHeader('Content-Type', 'application/json'); if (['POST'].includes(options.method.toUpperCase())) { request.write(body, 'utf-8') } request.end(); }); } module.exports = { get };