Documentation
¶
Index ¶
- Constants
- func ConsulContextMiddleware(logger *log.Logger) func(http.Handler) http.Handler
- func DeleteConsulHttpClientForSession(sessionId string)
- func EndSessionHandler(_ context.Context, session server.ClientSession, logger *log.Logger)
- func NewHttpClientFromContext(ctx context.Context, logger *log.Logger) *http.Client
- func NewSecurityHandler(handler http.Handler, allowedOrigins []string, corsMode string, ...) http.Handler
- func NewSessionHandler(ctx context.Context, session server.ClientSession, logger *log.Logger)
- type CORSConfig
- type ConsulHttpClient
- func GetConsulHttpClient(sessionId string) *ConsulHttpClient
- func GetGetConsulHttpClientFromContext(ctx context.Context, logger *log.Logger) (*ConsulHttpClient, error)
- func NewConsulClient(ctx context.Context, sessionId string, logger *log.Logger) *ConsulHttpClient
- func NewConsulClientFromContext(ctx context.Context, logger *log.Logger) (*ConsulHttpClient, error)
- func (c *ConsulHttpClient) Get(path string, queryParams url.Values, callOptions ...string) ([]byte, error)
- func (c *ConsulHttpClient) Post(path string, queryParams url.Values, data interface{}, callOptions ...string) ([]byte, error)
- func (c *ConsulHttpClient) Put(path string, queryParams url.Values, data interface{}, callOptions ...string) ([]byte, error)
- type Service
- type Services
Constants ¶
const ( ConsulSkipTLSVerify = "CONSUL_SKIP_VERIFY" ConsulEnterprise = "CONSUL_ENTERPRISE" )
Variables ¶
This section is empty.
Functions ¶
func ConsulContextMiddleware ¶
ConsulContextMiddleware is a middleware that extracts Consul connection details from the request headers and adds them to the request context. This allows the application to have a single, unified way of accessing Consul connection details regardless of the transport.
func DeleteConsulHttpClientForSession ¶
func DeleteConsulHttpClientForSession(sessionId string)
DeleteHttpClient removes the HTTP client for the given session
func EndSessionHandler ¶
EndSessionHandler cleans up clients when the session ends
func NewHttpClientFromContext ¶
NewHttpClient creates a http.Client with optional TLS verification skip
func NewSecurityHandler ¶
func NewSecurityHandler(handler http.Handler, allowedOrigins []string, corsMode string, logger *log.Logger) http.Handler
NewSecurityHandler creates a new security handler
func NewSessionHandler ¶
NewSessionHandler initializes clients for the session
Types ¶
type CORSConfig ¶
type CORSConfig struct {
AllowedOrigins []string
Mode string // "strict", "development", "disabled"
}
CORSConfig holds CORS configuration
func LoadCORSConfigFromEnv ¶
func LoadCORSConfigFromEnv() CORSConfig
LoadCORSConfigFromEnv loads CORS configuration from environment variables
type ConsulHttpClient ¶
type ConsulHttpClient struct {
SessionID string
Address string
Token string
Logger *log.Logger
// contains filtered or unexported fields
}
func GetConsulHttpClient ¶
func GetConsulHttpClient(sessionId string) *ConsulHttpClient
GetConsulHttpClient retrieves the Consul client for the given session
func GetGetConsulHttpClientFromContext ¶
func GetGetConsulHttpClientFromContext(ctx context.Context, logger *log.Logger) (*ConsulHttpClient, error)
GetHttpClientFromContext extracts HTTP client from the MCP context
func NewConsulClient ¶
NewConsulClient creates a new Consul client for the given session
func NewConsulClientFromContext ¶
NewConsulClientFromContext creates a new Consul client from the given context