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