@tasolutions/express-core
Version:
All libs for express
51 lines (42 loc) • 1.94 kB
JavaScript
;
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;
}
}
};