Documentation
¶
Index ¶
- type Handler
- func (h *Handler) GetServiceDiscoverer() grpc.ServiceDiscoverer
- func (h *Handler) HandleToolsCall(ctx context.Context, params map[string]interface{}, ...) (*mcp.ToolCallResult, error)
- func (h *Handler) HealthHandler(w http.ResponseWriter, r *http.Request)
- func (h *Handler) MetricsHandler(w http.ResponseWriter, r *http.Request)
- func (h *Handler) ServeHTTP(w http.ResponseWriter, r *http.Request)
- type Middleware
- func CORSMiddleware() Middleware
- func ChainMiddleware(middlewares ...Middleware) Middleware
- func ContentTypeMiddleware(allowedTypes ...string) Middleware
- func DefaultMiddleware(logger *zap.Logger) []Middleware
- func LoggingMiddleware(logger *zap.Logger) Middleware
- func MetricsMiddleware() Middleware
- func RateLimitMiddleware(requestsPerSecond int, burst int) Middleware
- func RecoveryMiddleware(logger *zap.Logger) Middleware
- func RequestSizeMiddleware(maxBytes int64) Middleware
- func SecurityMiddleware() Middleware
- func SessionRateLimitMiddleware(requestsPerSecond int, burst int) Middleware
- func TimeoutMiddleware(timeout time.Duration) Middleware
- func ValidateJSONRPC() Middleware
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Handler ¶
type Handler struct {
// contains filtered or unexported fields
}
Handler handles HTTP requests for the MCP gateway
func NewHandler ¶
func NewHandler( logger *zap.Logger, serviceDiscoverer grpc.ServiceDiscoverer, sessionManager *session.Manager, toolBuilder *tools.MCPToolBuilder, headerConfig config.HeaderForwardingConfig, ) *Handler
NewHandler creates a new HTTP handler
func (*Handler) GetServiceDiscoverer ¶
func (h *Handler) GetServiceDiscoverer() grpc.ServiceDiscoverer
GetServiceDiscoverer returns the service discoverer (for testing)
func (*Handler) HandleToolsCall ¶
func (h *Handler) HandleToolsCall(ctx context.Context, params map[string]interface{}, sessionCtx *session.Context) (*mcp.ToolCallResult, error)
HandleToolsCall handles tool calls directly (for testing)
func (*Handler) HealthHandler ¶
func (h *Handler) HealthHandler(w http.ResponseWriter, r *http.Request)
HealthHandler handles health check requests
func (*Handler) MetricsHandler ¶
func (h *Handler) MetricsHandler(w http.ResponseWriter, r *http.Request)
MetricsHandler handles metrics requests
type Middleware ¶
Middleware represents HTTP middleware
func ChainMiddleware ¶
func ChainMiddleware(middlewares ...Middleware) Middleware
ChainMiddleware chains multiple middleware functions
func ContentTypeMiddleware ¶
func ContentTypeMiddleware(allowedTypes ...string) Middleware
ContentTypeMiddleware validates content type
func DefaultMiddleware ¶
func DefaultMiddleware(logger *zap.Logger) []Middleware
DefaultMiddleware returns a set of default middleware
func LoggingMiddleware ¶
func LoggingMiddleware(logger *zap.Logger) Middleware
LoggingMiddleware adds request logging
func MetricsMiddleware ¶
func MetricsMiddleware() Middleware
MetricsMiddleware adds metrics collection
func RateLimitMiddleware ¶
func RateLimitMiddleware(requestsPerSecond int, burst int) Middleware
RateLimitMiddleware adds rate limiting
func RecoveryMiddleware ¶
func RecoveryMiddleware(logger *zap.Logger) Middleware
RecoveryMiddleware recovers from panics
func RequestSizeMiddleware ¶
func RequestSizeMiddleware(maxBytes int64) Middleware
RequestSizeMiddleware limits request body size
func SecurityMiddleware ¶
func SecurityMiddleware() Middleware
SecurityMiddleware adds security headers
func SessionRateLimitMiddleware ¶
func SessionRateLimitMiddleware(requestsPerSecond int, burst int) Middleware
SessionRateLimitMiddleware adds per-session rate limiting
func TimeoutMiddleware ¶
func TimeoutMiddleware(timeout time.Duration) Middleware
TimeoutMiddleware adds request timeout
func ValidateJSONRPC ¶
func ValidateJSONRPC() Middleware
ValidateJSONRPC validates JSON-RPC requests