Переглянути джерело

fix: websocket of upstream availability test not close

0xJacky 1 рік тому
батько
коміт
53e1c32444
1 змінених файлів з 39 додано та 38 видалено
  1. 39 38
      api/upstream/upstream.go

+ 39 - 38
api/upstream/upstream.go

@@ -1,45 +1,46 @@
 package upstream
 
 import (
-    "github.com/0xJacky/Nginx-UI/internal/logger"
-    "github.com/0xJacky/Nginx-UI/internal/upstream"
-    "github.com/gin-gonic/gin"
-    "github.com/gorilla/websocket"
-    "net/http"
-    "time"
+	"github.com/0xJacky/Nginx-UI/internal/logger"
+	"github.com/0xJacky/Nginx-UI/internal/upstream"
+	"github.com/gin-gonic/gin"
+	"github.com/gorilla/websocket"
+	"net/http"
+	"time"
 )
 
 func AvailabilityTest(c *gin.Context) {
-    var upGrader = websocket.Upgrader{
-        CheckOrigin: func(r *http.Request) bool {
-            return true
-        },
-    }
-    // upgrade http to websocket
-    ws, err := upGrader.Upgrade(c.Writer, c.Request, nil)
-    if err != nil {
-        logger.Error(err)
-        return
-    }
-
-    defer ws.Close()
-
-    var body []string
-
-    err = ws.ReadJSON(&body)
-
-    if err != nil {
-        logger.Error(err)
-        return
-    }
-    
-    for {
-        err = ws.WriteJSON(upstream.AvailabilityTest(body))
-
-        if err != nil {
-            logger.Error(err)
-        }
-
-        time.Sleep(10 * time.Second)
-    }
+	var upGrader = websocket.Upgrader{
+		CheckOrigin: func(r *http.Request) bool {
+			return true
+		},
+	}
+	// upgrade http to websocket
+	ws, err := upGrader.Upgrade(c.Writer, c.Request, nil)
+	if err != nil {
+		logger.Error(err)
+		return
+	}
+
+	defer ws.Close()
+
+	var body []string
+
+	err = ws.ReadJSON(&body)
+
+	if err != nil {
+		logger.Error(err)
+		return
+	}
+
+	for {
+		err = ws.WriteJSON(upstream.AvailabilityTest(body))
+
+		if err != nil {
+			logger.Error(err)
+			return
+		}
+
+		time.Sleep(10 * time.Second)
+	}
 }