middleware

package
v0.8.1 Latest Latest
Warning

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

Go to latest
Published: Jan 27, 2026 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Overview

Package middleware provides middleware functions for the transport package.

Index

Constants

View Source
const HeaderForwardMiddlewareName = "header-forward"

HeaderForwardMiddlewareName is the type constant for the header forward middleware.

Variables

View Source
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

Close cleans up any resources used by the middleware.

func (*HeaderForwardFactoryMiddleware) Handler added in v0.8.1

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.

Jump to

Keyboard shortcuts

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