mirror of
https://github.com/jcreek/CosmicClash.git
synced 2026-09-11 08:23:45 +00:00
fix(multiplayer): reject websocket caps before upgrade
This commit is contained in:
@@ -161,6 +161,13 @@ func (s *Service) controlPlaneEvent(w http.ResponseWriter, r *http.Request) {
|
||||
if !ok {
|
||||
return
|
||||
}
|
||||
hub := s.getEventHub()
|
||||
subscriber := hub.subscribe(playerID)
|
||||
if subscriber == nil {
|
||||
writeError(w, http.StatusTooManyRequests, "websocket_connection_limited")
|
||||
return
|
||||
}
|
||||
defer hub.unsubscribe(subscriber)
|
||||
hijacker, ok := w.(http.Hijacker)
|
||||
if !ok {
|
||||
writeError(w, http.StatusNotImplemented, "websocket_unavailable")
|
||||
@@ -178,12 +185,6 @@ func (s *Service) controlPlaneEvent(w http.ResponseWriter, r *http.Request) {
|
||||
if err := buffered.Flush(); err != nil {
|
||||
return
|
||||
}
|
||||
subscriber := s.getEventHub().subscribe(playerID)
|
||||
if subscriber == nil {
|
||||
return
|
||||
}
|
||||
defer s.getEventHub().unsubscribe(subscriber)
|
||||
|
||||
var writeMu sync.Mutex
|
||||
done := make(chan struct{})
|
||||
go func() {
|
||||
|
||||
Reference in New Issue
Block a user