http-kit.js 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. const axios = require('axios-https-proxy-fix')
  2. const TimeKit = require('./time-kit')
  3. const Debug = require("./debug-kit");
  4. class HttpKit {}
  5. const isDev = Debug.isDev()
  6. const opts = {}
  7. if (isDev) {
  8. opts.host = '127.0.0.1'
  9. opts.port = 9080
  10. }
  11. HttpKit.request = async function (url, data, method, headers={}) {
  12. const params = {}
  13. params.timeout = 3 * 1000
  14. params.method = method
  15. params.url = url
  16. params.data = data
  17. params.headers = headers
  18. if (isDev) params.proxy = JSON.parse(JSON.stringify(opts))
  19. if (method === 'get') {
  20. return await axios.get(url, { proxy: params.proxy, headers: headers }).catch(error => Promise.reject({ rst: false, data: error.response.data }))
  21. } else if (method === 'post') {
  22. return await axios.post(url, data,{ proxy: params.proxy, headers: headers }).catch(error => Promise.reject({ rst: false, data: error.response.data }))
  23. } else {
  24. return await axios(params).catch(error => {
  25. Promise.reject({ rst: false, data: error.response.data })
  26. })
  27. }
  28. }
  29. HttpKit.post = async function(url, data, headers) {
  30. try {
  31. return await HttpKit.request(url, data, 'post', headers)
  32. } catch (e) {
  33. const msg = 'Caught post error: ' + JSON.stringify(e) + ', ' + url
  34. if (msg.indexOf('cannot') === -1
  35. && msg.indexOf('timeout') === -1
  36. && msg.indexOf('{}') === -1
  37. && msg.indexOf('server error') === -1) {
  38. let time = TimeKit.getTimeByMillisecond(new Date().getTime())
  39. console.error(time, msg)
  40. }
  41. return e
  42. }
  43. }
  44. HttpKit.get = async function(url, headers) {
  45. try {
  46. return await HttpKit.request(url, {}, 'get', headers)
  47. } catch (e) {
  48. const msg = 'Caught get error: ' + JSON.stringify(e) + ', ' + url
  49. if (msg.indexOf('cannot') === -1
  50. && msg.indexOf('timeout') === -1
  51. && msg.indexOf('{}') === -1
  52. && msg.indexOf('server error') === -1) {
  53. let time = TimeKit.getTimeByMillisecond(new Date().getTime())
  54. console.error(time, msg)
  55. }
  56. return e
  57. }
  58. }
  59. module.exports = HttpKit