12345678910111213141516171819202122232425262728293031323334353637 |
- package agent_server
- import (
- "github.com/gorilla/websocket"
- "log"
- "net/http"
- "nginx-ui/server/models"
- )
- var upgrader = websocket.Upgrader{
- ReadBufferSize: 4096,
- WriteBufferSize: 4096,
- }
- type Server struct {
- }
- func NewServer() *Server {
- go AgentHub.run()
- return &Server{}
- }
- func SetMessageHandler(key string, handler func(c *WsClient, message *models.AgentData) (interface{}, error)) {
- AgentHub.SetMessageHandler(key, handler)
- }
- func (s *Server) ServeHTTP(w http.ResponseWriter, r *http.Request) {
- conn, err := upgrader.Upgrade(w, r, nil)
- if err != nil {
- log.Println(err)
- return
- }
- token := r.Header.Get("Token")
- client := NewWsClient(token, conn)
- AgentHub.register <- client
- go client.readPump()
- }
|