42 lines · 1.3 KB · Go
RawDownload
package executor import "context" type downstreamWebsocketContextKey struct{}type requireUpstreamWebsocketContextKey struct{} // WithDownstreamWebsocket marks the current request as coming from a downstream websocket connection.func WithDownstreamWebsocket(ctx context.Context) context.Context {	if ctx == nil {		ctx = context.Background()	}	return context.WithValue(ctx, downstreamWebsocketContextKey{}, true)} // DownstreamWebsocket reports whether the current request originates from a downstream websocket connection.func DownstreamWebsocket(ctx context.Context) bool {	if ctx == nil {		return false	}	raw := ctx.Value(downstreamWebsocketContextKey{})	enabled, ok := raw.(bool)	return ok && enabled} // WithRequiredUpstreamWebsocket marks a request whose incremental context is valid only on the current upstream websocket.func WithRequiredUpstreamWebsocket(ctx context.Context) context.Context {	if ctx == nil {		ctx = context.Background()	}	return context.WithValue(ctx, requireUpstreamWebsocketContextKey{}, true)} // RequiredUpstreamWebsocket reports whether falling back to an HTTP upstream would lose request context.func RequiredUpstreamWebsocket(ctx context.Context) bool {	if ctx == nil {		return false	}	raw := ctx.Value(requireUpstreamWebsocketContextKey{})	enabled, ok := raw.(bool)	return ok && enabled}

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t