const http = require('http'); const https = require('https'); const makeRequest = async (url) => { return new Promise((resolve) => { const client = url.startsWith('https://') ? https : http; const req = client.get(url, (res) => { let data = ''; res.on('data', (chunk) => { data += chunk; }); res.on('end', () => { let parsed = data; try { if (typeof data === 'string' && data.trim().startsWith('{')) { parsed = JSON.parse(data); } } catch (e) { console.warn('Warning: JSON parse failed'); } resolve({ statusCode: res.statusCode, headers: res.headers, body: parsed }); }); }); req.on('error', (err) => { console.error('Request failed:', err.message); resolve({ statusCode: 500, body: null, error: err.message }); }); req.setTimeout(2000, () => { req.abort(); resolve({ statusCode: 408, body: null, error: 'Request timeout' }); }); }); }; module.exports = { makeRequest };