/** * 通用 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 }