UNPKG

ts-guoguo-mcp-server

Version:

裹裹寄件服务MCP Server - TypeScript版本,基于Model Context Protocol的寄件服务集成工具

95 lines 3.39 kB
import axios from "axios"; import { logger } from "./logger.js"; /** * HTTP客户端类 */ export class HTTPClient { config; client; constructor(config) { this.config = config; this.client = axios.create({ timeout: config.timeout * 1000, headers: config.headers, }); } /** * 发送GET请求 */ async get(endpoint, params) { try { const baseUrl = this.config.baseUrl.replace(/\/$/, ""); const url = `${baseUrl}/${endpoint.replace(/^\//, "")}`; logger.info(`发送GET请求: ${url}, 参数: ${JSON.stringify(params)}`); const response = await this.client.get(url, { params }); logger.info(`API响应成功: ${response.status}`); return response.data; } catch (error) { if (error.response) { logger.error(`HTTP状态错误: ${error.response.status} - ${error.response.data}`); return { status: "error", error_code: "HTTP_ERROR", message: `HTTP错误 ${error.response.status}: ${JSON.stringify(error.response.data)}`, }; } else if (error.request) { logger.error(`请求错误: ${error.message}`); return { status: "error", error_code: "REQUEST_ERROR", message: `请求失败: ${error.message}`, }; } else { logger.error(`未知错误: ${error.message}`); return { status: "error", error_code: "UNKNOWN_ERROR", message: `未知错误: ${error.message}`, }; } } } /** * 发送POST请求 */ async post(endpoint, data) { try { const baseUrl = this.config.baseUrl.replace(/\/$/, ""); const url = `${baseUrl}/${endpoint.replace(/^\//, "")}`; logger.info(`发送POST请求: ${url}, 数据: ${JSON.stringify(data)}`); const response = await this.client.post(url, data); logger.info(`API响应成功: ${response.status}`); return response.data; } catch (error) { if (error.response) { logger.error(`HTTP状态错误: ${error.response.status} - ${error.response.data}`); return { status: "error", error_code: "HTTP_ERROR", message: `HTTP错误 ${error.response.status}: ${JSON.stringify(error.response.data)}`, }; } else if (error.request) { logger.error(`请求错误: ${error.message}`); return { status: "error", error_code: "REQUEST_ERROR", message: `请求失败: ${error.message}`, }; } else { logger.error(`未知错误: ${error.message}`); return { status: "error", error_code: "UNKNOWN_ERROR", message: `未知错误: ${error.message}`, }; } } } } //# sourceMappingURL=http-client.js.map