const axios = require('axios') const https = require('https') const coba = require('./coba') const { PRODUCTION } = require('./constanta') /** * * @param url {string} * @param token {string | null?} * @returns {Promise} */ exports.get = async (url, token = null) => { const httpsAgent = new https.Agent({ rejectUnauthorized: false, }) const authToken = coba.decrypt(process.env.CXQSB) === PRODUCTION && token ? token : coba.decrypt(process.env.XNX1Q) const response = await axios.get(url, { headers: { Authorization: `Bearer ${authToken}`, Accept: 'application/json', }, httpsAgent, }) return response.data } /** * * @param url * @param data * @param token {string | null?} * @param config {any?} * @returns {Promise} */ exports.post = async (url, data, token= null, config = {}) => { const httpsAgent = new https.Agent({ rejectUnauthorized: false, }) const authToken = coba.decrypt(process.env.CXQSB) === PRODUCTION && token ? token : coba.decrypt(process.env.XNX1Q) const response = await axios.post(url, data, { headers: { Authorization: `Bearer ${authToken}`, Accept: 'application/json', ...config, }, httpsAgent, }) return response.data }