MCPcopy Create free account
hub / github.com/astercloud/aster / NewHTTPBridgeServer

Function NewHTTPBridgeServer

pkg/tools/bridge/http_server.go:79–105  ·  view source on GitHub ↗

NewHTTPBridgeServer 创建 HTTP 桥接服务器

(bridge *ToolBridge, addr string)

Source from the content-addressed store, hash-verified

77
78// NewHTTPBridgeServer 创建 HTTP 桥接服务器
79func NewHTTPBridgeServer(bridge *ToolBridge, addr string) *HTTPBridgeServer {
80 s := &HTTPBridgeServer{
81 bridge: bridge,
82 server: &http.Server{
83 Addr: addr,
84 ReadTimeout: 30 * time.Second,
85 WriteTimeout: 30 * time.Second,
86 // 性能优化: 配置更大的缓冲区
87 ReadHeaderTimeout: 5 * time.Second,
88 MaxHeaderBytes: 1 << 20, // 1MB
89 // 启用 keep-alive 连接复用
90 IdleTimeout: 120 * time.Second,
91 },
92 // 初始化 Schema 缓存(5分钟TTL)
93 schemaCache: newSchemaCache(5 * time.Minute),
94 }
95
96 // 设置路由
97 mux := http.NewServeMux()
98 mux.HandleFunc("/tools/call", s.handleToolCall)
99 mux.HandleFunc("/tools/list", s.handleToolList)
100 mux.HandleFunc("/tools/schema", s.handleToolSchema)
101 mux.HandleFunc("/health", s.handleHealth)
102
103 s.server.Handler = mux
104 return s
105}
106
107// SetContextFactory 设置工具上下文工厂
108func (s *HTTPBridgeServer) SetContextFactory(factory func() *tools.ToolContext) {

Callers 4

ensureBridgeServerMethod · 0.92
mainFunction · 0.92
TestPTCIntegrationFunction · 0.85

Calls 1

newSchemaCacheFunction · 0.85

Tested by 2

TestPTCIntegrationFunction · 0.68