Namespace Kuestenlogik.Bowire.Protocol.WebSocket

Classes

BowireWebSocketProtocol

Bowire protocol plugin for raw WebSocket connections. Discovers endpoints either from EndpointDataSource entries that carry a WebSocketEndpointAttribute (embedded mode) or from the IWebSocketEndpointRegistry singleton the host wired up via AddBowireWebSocketEndpoints(IServiceCollection, Action<IWebSocketEndpointRegistry>?). Invocation goes exclusively through the channel API: there are no unary or server-streaming WebSocket methods. Also implements IInlineWebSocketChannel so other plugins (the GraphQL plugin's graphql-transport-ws subscription support) can open WebSocket channels — with sub-protocols + auth headers — without taking a compile-time dependency on this assembly.

BowireWebSocketServiceCollectionExtensions

DI registration helpers for the Bowire WebSocket plugin.

WebSocketEndpointAttribute

Marks an ASP.NET Core endpoint as a WebSocket endpoint that Bowire should expose in the sidebar. Use it on Minimal API delegates or controller actions that perform HttpContext.WebSockets.AcceptWebSocketAsync.

WebSocketEndpointInfo

One discovered (or manually registered) WebSocket endpoint.

WebSocketEndpointRegistry

Default IWebSocketEndpointRegistry backed by a lock-guarded List<T>. Public so consumers who want to construct one directly (test fixtures, in-process embedding outside the standard DI extension) can do so without going through the service collection.

WebSocketGroupAttribute

Groups one or more WebSocket endpoints into a named service in the Bowire sidebar. Without this attribute endpoints land in a generic "WebSocket" service (or their own DisplayName when only one endpoint is registered).

Interfaces

IWebSocketEndpointRegistry

Per-container catalogue of WebSocketEndpointInfo instances Bowire's WebSocket plugin should surface in DiscoverAsync, on top of anything the plugin finds via WebSocketEndpointAttribute on routed endpoints.

Registered as a singleton through AddBowireWebSocketEndpoints(IServiceCollection, Action<IWebSocketEndpointRegistry>?). Replaces the pre-v1.7 process-wide static collection on BowireWebSocketProtocol: a per-container instance keeps each ASP.NET host's endpoint list independent (tests, side-by-side in-process hosts) and removes the cross-test races the static collection produced.