57 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			57 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
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
 | 
						|
}; |