plugai_updsrv/pkg/controllers/controller_gateway.go

31 lines
750 B
Go

package controllers
import (
"github.com/civet148/log"
"github.com/gin-gonic/gin"
"github.com/gorilla/websocket"
"net/http"
)
var upgrader = websocket.Upgrader{
// 解决跨域问题
CheckOrigin: func(r *http.Request) bool {
return true
},
} // use default options
func (m *Controller) WebSocketRequest(c *gin.Context) {
log.Infof("websocket request %+v", c.Request)
conn, err := upgrader.Upgrade(c.Writer, c.Request, nil)
if err != nil {
log.Errorf("websocket upgrade error [%s]", err)
m.ErrorStatus(c, http.StatusBadRequest, err.Error())
return
}
defer conn.Close()
err = m.GatewayCore.WebSocketRelay(conn)
if err != nil {
log.Warnf("websocket from [%s] relay closed with error [%s]", m.GetClientIP(c), err.Error())
}
}