# Session 23: WebSocket & OCSP ## Summary WebSocket transport layer (allows browser clients to connect via WebSocket) and OCSP certificate stapling/checking infrastructure. ## Scope | Go File | Features | Feature IDs | Go LOC | |---------|----------|-------------|--------| | server/websocket.go | 38 | 3506–3543 | 1,265 | | server/ocsp.go | 20 | 2443–2462 | 880 | | server/ocsp_peer.go | 9 | 2463–2471 | 356 | | server/ocsp_responsecache.go | 30 | 2472–2501 | 461 | | **Total** | **97** | | **2,962** | ## .NET Classes - `WebSocketHandler` — WebSocket upgrade and frame handling - `WsReadInfo` — WebSocket read state - `SrvWebsocket` — WebSocket server configuration - `OcspHandler` — OCSP stapling orchestrator - `OCSPMonitor` — background OCSP response refresher - `NoOpCache` — no-op OCSP cache implementation ## Test Files | Test File | Tests | Test IDs | |-----------|-------|----------| | server/websocket_test.go | 109 | 3074–3182 | | server/certstore_windows_test.go | 4 | 155–158 | | **Total** | **113** | | ## Dependencies - Session 01 (Foundation Types) - Session 08 (Client Connection) - Session 09 (Server Core Part 1) - Leaf module: certidp (already complete) - Leaf module: certstore (already complete) ## .NET Target Location - `dotnet/src/ZB.MOM.NatsNet.Server/WebSocket/` - `dotnet/src/ZB.MOM.NatsNet.Server/Auth/Ocsp/` ## Notes - WebSocket maps to ASP.NET Core WebSocket middleware or `System.Net.WebSockets` - OCSP integrates with the already-ported certidp and certstore modules - WebSocket test file has 109 tests — covers masking, framing, compression, upgrade - OCSP response cache has 30 features — manage certificate stapling lifecycle