Bind WS relay handshake to Origin + add cold-cache key validation fallback

FixAPIService
Shipped
July 15, 2026 at 11:35 PM UTC
Author
Kamo
Commit
ade24ea

Extracts PublicChatController's private validateViaDownstream() into a shared PublicChatKeyResolver bean so PublicChatWebSocketHandler can reuse the same downstream DB validation + mandatory OriginMatcher check on a cold Redis cache, instead of duplicating the logic. The WS handshake now reads the real Origin handshake header and passes it into keyValidator.validate(...) (was null), so the allowed-origins gate is actually enforced on /ws/public-chat, and falls back to the downstream validator when the cache is cold so the handshake doesn't spuriously fail before any HTTP call has warmed the cache.

All changes

Like what you see shipping?

Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.

Start Free ForeverView Pricing