server

package
v0.0.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 4, 2025 License: MIT Imports: 14 Imported by: 0

Documentation

Index

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

func (*Handler) ServeHTTP

func (h *Handler) ServeHTTP(w http.ResponseWriter, r *http.Request)

ServeHTTP handles HTTP requests

type Middleware

type Middleware func(http.Handler) http.Handler

Middleware represents HTTP middleware

func CORSMiddleware

func CORSMiddleware() Middleware

CORSMiddleware adds CORS headers

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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL