lepaoSchoolHttp.js 1016 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. const { forwardRequest, briefUrlPath } = require('../ProxyForwardClient')
  2. function lepaoHttpLogLabel(traceId, mqTaskId) {
  3. let s = ''
  4. if (traceId) s += `[${traceId}] `
  5. s += '[lepaoSchoolHttp]'
  6. if (mqTaskId) s += ` [${mqTaskId}]`
  7. return s
  8. }
  9. /**
  10. * 对 lepao 学校 API 的 POST,经 RunForge-ProxyServer 转发(失败时由代理服务自动直连回退)。
  11. */
  12. async function postLepaoSchool(url, data, options = {}) {
  13. const {
  14. headers = {},
  15. timeout = 15000,
  16. logger = null,
  17. outboundMode = 'auto',
  18. mqTaskId = null,
  19. traceId = null
  20. } = options
  21. const logPrefix = lepaoHttpLogLabel(traceId, mqTaskId)
  22. logger?.info?.(`${logPrefix} POST ${briefUrlPath(url)} mode=${outboundMode}`)
  23. return forwardRequest({
  24. method: 'post',
  25. url,
  26. data,
  27. headers,
  28. timeout,
  29. outboundMode,
  30. logger,
  31. logPrefix,
  32. scene: 'lepao_school'
  33. })
  34. }
  35. module.exports = {
  36. postLepaoSchool
  37. }