| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- /**
- * 通用 HTTP 出站:经 RunForge-ProxyServer 转发。
- */
- const { forwardRequest } = require('../ProxyForwardClient')
- function logLabel(traceId, mqTaskId) {
- let s = ''
- if (traceId) s += `[${traceId}] `
- s += '[outboundAxios]'
- if (mqTaskId) s += ` [${mqTaskId}]`
- return s
- }
- /**
- * @param {{
- * method?: 'get'|'post'|'put'|'patch'|'delete'|'head'|'options'
- * url: string
- * data?: any
- * headers?: object
- * timeout?: number
- * outboundMode?: 'auto'|'direct'|'proxy'
- * logger?: object
- * traceId?: string|null
- * mqTaskId?: string|null
- * scene?: string
- * validateStatus?: (status:number)=>boolean
- * responseType?: string
- * transformResponse?: Function[]
- * }} opts
- */
- async function axiosWithQgOutbound(opts) {
- const {
- method = 'get',
- url,
- data,
- headers = {},
- timeout = 15000,
- outboundMode = 'auto',
- logger = null,
- traceId = null,
- mqTaskId = null,
- scene = 'outbound',
- validateStatus,
- responseType,
- transformResponse
- } = opts
- return forwardRequest({
- method,
- url,
- data,
- headers,
- timeout,
- outboundMode,
- validateStatus,
- responseType,
- transformResponse,
- logger,
- logPrefix: logLabel(traceId, mqTaskId),
- scene
- })
- }
- module.exports = {
- axiosWithQgOutbound
- }
|