Connecting disconnecting working

This commit is contained in:
Owen
2025-11-07 14:31:13 -08:00
parent f23f2fb9aa
commit 553010f2ea
2 changed files with 22 additions and 1 deletions

View File

@@ -255,6 +255,15 @@ func (s *API) handleConnect(w http.ResponseWriter, r *http.Request) {
return
}
// if we are already connected, reject new connection requests
s.statusMu.RLock()
alreadyConnected := s.isConnected
s.statusMu.RUnlock()
if alreadyConnected {
http.Error(w, "Already connected to a server. Disconnect first before connecting again.", http.StatusConflict)
return
}
var req ConnectionRequest
decoder := json.NewDecoder(r.Body)
if err := decoder.Decode(&req); err != nil {
@@ -374,6 +383,15 @@ func (s *API) handleDisconnect(w http.ResponseWriter, r *http.Request) {
return
}
// if we are already disconnected, reject new disconnect requests
s.statusMu.RLock()
alreadyDisconnected := !s.isConnected
s.statusMu.RUnlock()
if alreadyDisconnected {
http.Error(w, "Not currently connected to a server.", http.StatusConflict)
return
}
logger.Info("Received disconnect request via API")
// Send disconnect signal