Browse Source

fix(websocket): replace websocket error handling with helper function

0xJacky 1 week ago
parent
commit
b69fe050f7
2 changed files with 4 additions and 3 deletions
  1. 3 2
      api/cluster/websocket.go
  2. 1 1
      api/nginx_log/websocket.go

+ 3 - 2
api/cluster/websocket.go

@@ -11,6 +11,7 @@ import (
 
 	"github.com/0xJacky/Nginx-UI/internal/analytic"
 	"github.com/0xJacky/Nginx-UI/internal/kernel"
+	"github.com/0xJacky/Nginx-UI/internal/helper"
 	"github.com/0xJacky/Nginx-UI/model"
 	"github.com/gin-gonic/gin"
 	"github.com/gorilla/websocket"
@@ -286,10 +287,10 @@ func (c *Client) readPump() {
 		for {
 			_, _, err := c.conn.ReadMessage()
 			if err != nil {
-				if websocket.IsUnexpectedCloseError(err, websocket.CloseGoingAway, websocket.CloseAbnormalClosure) {
+				if helper.IsUnexpectedWebsocketError(err) {
 					logger.Error("Websocket error:", err)
 				}
-				break
+				return 
 			}
 		}
 	}()

+ 1 - 1
api/nginx_log/websocket.go

@@ -146,7 +146,7 @@ func handleLogControl(ws *websocket.Conn, controlChan chan controlStruct, errCha
 
 	for {
 		msgType, payload, err := ws.ReadMessage()
-		if err != nil && websocket.IsUnexpectedCloseError(err, websocket.CloseNormalClosure) {
+		if err != nil && helper.IsUnexpectedWebsocketError(err) {
 			errChan <- errors.Wrap(err, "error handleLogControl read message")
 			return
 		}