UNPKG

@tasolutions/express-core

Version:
51 lines (42 loc) 1.94 kB
'use strict'; const axios = require('axios'); const { clientInfo } = require('../../config'); const { sendMessage } = require('../discord'); module.exports = { doRequest: async (method = 'GET', path, payload = {}, acceptLanguage = 'en') => { if (clientInfo.configService.enable !== 'true') { console.warn('[doRequest] Client is disabled. Request execution skipped.'); return null; } if (!path) throw { message: 'doRequest field: path is required!' }; let headers = { 'Content-Type': 'application/json', 'Accept-Language': acceptLanguage }; const url = `${clientInfo.configService.endpoint}${path}`; console.log(`[doRequest] Sending ${method} request to ${url}`); // Log thông tin yêu cầu try { const req = method === 'GET' ? { url, method, headers } : { url, method, headers, data: payload }; const response = await axios(req); return response.data; } catch (error) { // Ghi log lỗi và chuẩn bị thông điệp để gửi đến Discord console.error('Error received in doRequest:', { message: error.message, response: error.response?.data, // Dữ liệu phản hồi từ server config: error.config, // Cấu hình yêu cầu }); const errorDetails = { message: error.message, response: error.response ? error.response.data : null, config: error.config, }; // Gửi thông điệp lỗi đến Discord sendMessage('[ConfigService][ERROR] payload', JSON.stringify(payload, null, 2)); sendMessage('[ConfigService][ERROR] error', JSON.stringify(errorDetails, null, 2)); // Gửi chi tiết lỗi return false; } } };