axios.js 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  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. const httpsAgent = new https.Agent({
  13. rejectUnauthorized: false,
  14. })
  15. const authToken =
  16. coba.decrypt(process.env.CXQSB) === PRODUCTION && token
  17. ? token
  18. : coba.decrypt(process.env.XNX1Q)
  19. const response = await axios.get(url, {
  20. headers: {
  21. Authorization: `Bearer ${authToken}`,
  22. Accept: 'application/json',
  23. },
  24. httpsAgent,
  25. })
  26. return response.data
  27. }
  28. /**
  29. *
  30. * @param url
  31. * @param data
  32. * @param token {string | null?}
  33. * @param config {any?}
  34. * @returns {Promise<any>}
  35. */
  36. exports.post = async (url, data, token= null, config = {}) => {
  37. const httpsAgent = new https.Agent({
  38. rejectUnauthorized: false,
  39. })
  40. const authToken =
  41. coba.decrypt(process.env.CXQSB) === PRODUCTION && token
  42. ? token
  43. : coba.decrypt(process.env.XNX1Q)
  44. const response = await axios.post(url, data, {
  45. headers: {
  46. Authorization: `Bearer ${authToken}`,
  47. Accept: 'application/json',
  48. ...config,
  49. },
  50. httpsAgent,
  51. })
  52. return response.data
  53. }