WebSocket hub with channel-based pub/sub
Add Authenticator interface with AuthenticatorFunc adapter and built-in APIKeyAuthenticator for Bearer token validation. Hub.Handler() now gates connections when an Authenticator is configured on HubConfig, responding HTTP 401 for failed auth. Client.UserID and Client.Claims are populated on successful upgrade. OnAuthFailure callback enables logging/metrics. Nil authenticator preserves full backward compatibility — all existing tests pass unchanged. 18 new tests (unit + integration) cover valid/ invalid/missing/malformed headers, func adapter, multi-client auth, message delivery post-auth, and the OnAuthFailure callback. Co-Authored-By: Virgil <virgil@lethean.io> |
||
|---|---|---|
| auth.go | ||
| auth_test.go | ||
| CLAUDE.md | ||
| errors.go | ||
| FINDINGS.md | ||
| go.mod | ||
| go.sum | ||
| TODO.md | ||
| ws.go | ||
| ws_bench_test.go | ||
| ws_test.go | ||