Documentation
¶
Overview ¶
Package middleware provides middleware functions for the transport package.
Index ¶
- Constants
- Variables
- func CreateHeaderForwardMiddleware(addHeaders map[string]string) (types.MiddlewareFunction, error)
- func CreateMiddleware(config *types.MiddlewareConfig, runner types.MiddlewareRunner) error
- func CreateTokenInjectionMiddleware(tokenSource oauth2.TokenSource) types.MiddlewareFunction
- type HeaderForwardFactoryMiddleware
- type HeaderForwardMiddlewareParams
Constants ¶
const HeaderForwardMiddlewareName = "header-forward"
HeaderForwardMiddlewareName is the type constant for the header forward middleware.
Variables ¶
var RestrictedHeaders = map[string]bool{ "Host": true, "Connection": true, "Keep-Alive": true, "Te": true, "Trailer": true, "Upgrade": true, "Http2-Settings": true, "Proxy-Authorization": true, "Proxy-Authenticate": true, "Proxy-Connection": true, "Transfer-Encoding": true, "Content-Length": true, "Forwarded": true, "X-Forwarded-For": true, "X-Forwarded-Host": true, "X-Forwarded-Proto": true, "X-Real-Ip": true, }
RestrictedHeaders is the set of headers that cannot be configured for forwarding. Keys are in canonical form (http.CanonicalHeaderKey).
Functions ¶
func CreateHeaderForwardMiddleware ¶ added in v0.8.1
func CreateHeaderForwardMiddleware(addHeaders map[string]string) (types.MiddlewareFunction, error)
CreateHeaderForwardMiddleware returns a middleware function that injects configured headers into requests before they are forwarded to remote MCP servers. This is a convenience function for use outside the factory pattern (e.g., thv proxy). It returns an error if any header name is in the restricted set.
func CreateMiddleware ¶ added in v0.8.1
func CreateMiddleware(config *types.MiddlewareConfig, runner types.MiddlewareRunner) error
CreateMiddleware is the factory function for header forward middleware.
func CreateTokenInjectionMiddleware ¶
func CreateTokenInjectionMiddleware(tokenSource oauth2.TokenSource) types.MiddlewareFunction
CreateTokenInjectionMiddleware returns a middleware that injects a Bearer token from the provided oauth2.TokenSource. It returns 401 when the workload is unauthenticated.
Types ¶
type HeaderForwardFactoryMiddleware ¶ added in v0.8.1
type HeaderForwardFactoryMiddleware struct {
// contains filtered or unexported fields
}
HeaderForwardFactoryMiddleware wraps header forward functionality for the factory pattern.
func (*HeaderForwardFactoryMiddleware) Close ¶ added in v0.8.1
func (*HeaderForwardFactoryMiddleware) Close() error
Close cleans up any resources used by the middleware.
func (*HeaderForwardFactoryMiddleware) Handler ¶ added in v0.8.1
func (m *HeaderForwardFactoryMiddleware) Handler() types.MiddlewareFunction
Handler returns the middleware function used by the proxy.
type HeaderForwardMiddlewareParams ¶ added in v0.8.1
type HeaderForwardMiddlewareParams struct {
// AddHeaders is a map of header names to values to inject into requests.
AddHeaders map[string]string `json:"add_headers"`
}
HeaderForwardMiddlewareParams holds the parameters for the header forward middleware factory.