39 lines
626 B
Go
39 lines
626 B
Go
package web
|
|
|
|
import (
|
|
"go_oxspeak_server/network/http/handler"
|
|
|
|
"github.com/gin-gonic/gin"
|
|
"github.com/gorilla/websocket"
|
|
)
|
|
|
|
type WSHandler struct {
|
|
*handler.Handler
|
|
}
|
|
|
|
func NewWSHandler(h *handler.Handler) *WSHandler {
|
|
return &WSHandler{h}
|
|
}
|
|
|
|
func (h *WSHandler) RegisterRoutes(rg *gin.RouterGroup) {
|
|
ws := rg.Group("/ws")
|
|
ws.GET("/", h.handleWS)
|
|
}
|
|
|
|
var upgrader = websocket.Upgrader{}
|
|
|
|
func (h *WSHandler) handleWS(c *gin.Context) {
|
|
conn, err := upgrader.Upgrade(c.Writer, c.Request, nil)
|
|
if err != nil {
|
|
return
|
|
}
|
|
defer conn.Close()
|
|
|
|
for {
|
|
_, _, err := conn.ReadMessage()
|
|
if err != nil {
|
|
break
|
|
}
|
|
}
|
|
}
|