Versions in this module Expand all Collapse all v0 v0.1.0 Apr 17, 2026 Changes in this version + const DirectionClientToUpstream + const DirectionUpstreamToClient + const MessageBinary + const MessageClose + const MessageOther + const MessagePing + const MessagePong + const MessageText + var ErrInvalidTarget = errors.New("invalid target") + var ErrMissingTarget = errors.New("missing target") + type CloseInfo = observe.CloseInfo + type Direction = observe.Direction + type ErrorInfo = observe.ErrorInfo + type ErrorWriter func(http.ResponseWriter, *http.Request, int, error) + type ForwardDecision struct + Delay time.Duration + Drop bool + type Frame = observe.WSFrame + type Handler struct + func New(opts Options) (*Handler, error) + func (h *Handler) ServeHTTP(w http.ResponseWriter, r *http.Request) + type Hooks struct + OnError func(context.Context, ErrorInfo) + OnFrame func(context.Context, Frame) error + OnSessionClose func(context.Context, CloseInfo) + OnSessionConnected func(context.Context, Session, *websocket.Conn, *websocket.Conn) + OnSessionOpen func(context.Context, Session) error + type MessageType = observe.WSMessageType + type Options struct + AllowPlaintextFallback bool + BeforeForward func(Direction, MessageType, int) ForwardDecision + ForwardHeaders []string + GenerateSessionID func() string + HandshakeTimeout time.Duration + Hooks Hooks + InsecureTLS bool + ObserveTarget func(*url.URL) bool + Resolver TargetResolver + SynthesizeOrigin bool + Upgrader websocket.Upgrader + WriteError ErrorWriter + type QueryTargetResolver struct + DefaultTarget string + DropParams []string + NormalizeScheme bool + Param string + func (r QueryTargetResolver) Resolve(req *http.Request) (*url.URL, error) + type ResolveTargetFunc func(*http.Request) (*url.URL, error) + func (f ResolveTargetFunc) Resolve(r *http.Request) (*url.URL, error) + type Session = observe.Session + type TargetResolver interface + Resolve func(*http.Request) (*url.URL, error)