axios.js 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. const axios = require('axios')
  2. const https = require('https')
  3. const coba = require('./coba')
  4. const { PRODUCTION } = require('./constanta')
  5. /**
  6. *
  7. * @param url {string}
  8. * @param token {string | null?}
  9. * @returns {Promise<any>}
  10. */
  11. exports.get = async (url, token = null) => {
  12. let response
  13. if (coba.decrypt(process.env.CXQSB) === PRODUCTION && token) {
  14. response = await axios.get(url, {
  15. headers: {
  16. Authorization: `Bearer ${token}`,
  17. Accept: 'application/json'
  18. }
  19. })
  20. } else {
  21. let token = process.env.XNX1Q
  22. response = await axios.get(url, {
  23. headers: {
  24. Authorization: `Bearer ${coba.decrypt(token)}`,
  25. Accept: 'application/json'
  26. },
  27. httpsAgent: new https.Agent({
  28. rejectUnauthorized: false
  29. })
  30. })
  31. }
  32. return response.data
  33. }
  34. /**
  35. *
  36. * @param url
  37. * @param data
  38. * @param token {string | null?}
  39. * @param config {any?}
  40. * @returns {Promise<any>}
  41. */
  42. exports.post = async (url, data, token= null, config = {}) => {
  43. const httpsAgent = new https.Agent({
  44. rejectUnauthorized: false,
  45. })
  46. const authToken =
  47. coba.decrypt(process.env.CXQSB) === PRODUCTION && token
  48. ? token
  49. : coba.decrypt(process.env.XNX1Q)
  50. response = await axios.post(url, data, {
  51. headers: {
  52. Authorization: `Bearer ${authToken}`,
  53. Accept: 'application/json',
  54. ...config,
  55. },
  56. httpsAgent,
  57. })
  58. return response.data
  59. }