temp push

This commit is contained in:
2025-12-02 10:34:45 +01:00
parent 8f7db6256b
commit 7a30adc2e8
7 changed files with 73 additions and 25 deletions

View File

@@ -46,10 +46,8 @@ func (wsg *WebsocketGateway) Start() error {
func (wsg *WebsocketGateway) Serve(ctx context.Context, listenAddr string) error {
mux := http.NewServeMux()
mux.HandleFunc("/push", wsg.handlePush)
mux.HandleFunc("/ready", wsg.handleReady)
mux.HandleFunc("/sync", wsg.handleSync)
mux.HandleFunc("/health", wsg.handleHealth)
mux.HandleFunc("/register", wsg.handleRegister)
srv := &http.Server{
Addr: listenAddr,
@@ -73,8 +71,8 @@ func (wsg *WebsocketGateway) Serve(ctx context.Context, listenAddr string) error
func (wsg *WebsocketGateway) modReadLoop(conn *websocket.Conn, meta cache.ConnectionMetaData) {
defer func() {
wsg.unregisterConn(conn, meta)
wsg.logger.Info("Mod-Client disconnected.", "remote", conn.RemoteAddr().String(), "server_id", meta.ID)
wsg.unregisterConn(conn, meta, "mod")
wsg.logger.Info("Client disconnected.", "remote", conn.RemoteAddr().String(), "server_id", meta.ID)
}()
ticker := time.NewTicker(30 * time.Second)
@@ -91,9 +89,7 @@ func (wsg *WebsocketGateway) modReadLoop(conn *websocket.Conn, meta cache.Connec
if err != nil {
if websocket.IsUnexpectedCloseError(err, websocket.CloseGoingAway, websocket.CloseNormalClosure) {
wsg.logger.Warn("unexpected mod close", "server_id", meta.ID, "err", err)
} else {
wsg.logger.Debug("mod read error", "server_id", meta.ID, "err", err)
wsg.logger.Warn("Mod-Client unexpectedly closed the connection.", "err", err)
}
return
}
@@ -129,7 +125,7 @@ func (wsg *WebsocketGateway) modReadLoop(conn *websocket.Conn, meta cache.Connec
func (wsg *WebsocketGateway) botReadLoop(conn *websocket.Conn, meta cache.ConnectionMetaData) {
defer func() {
wsg.unregisterConn(conn, meta)
wsg.unregisterConn(conn, meta, "bot")
wsg.logger.Info("bot disconnected", "bot_id", meta.ID, "remote", conn.RemoteAddr().String())
}()
@@ -187,3 +183,25 @@ func (wsg *WebsocketGateway) botReadLoop(conn *websocket.Conn, meta cache.Connec
_ = writeJSONSafe(conn, map[string]string{"status": "ok"})
}
}
func (wsg *WebsocketGateway) read(conn *websocket.Conn, meta cache.ConnectionMetaData, typ string) {
defer func() {
wsg.unregisterConn(conn, meta, typ)
wsg.logger.Info("Client disconnected.", "remote", conn.RemoteAddr().String())
}()
ticker := time.NewTicker(30 * time.Second)
defer ticker.Stop()
go func() {
for range ticker.C {
wsg.sendWebsocketPing(conn)
}
}()
switch typ {
case "mod":
case "bot":
}
}