func NewServer(a *AlertManager, server *shttp.Server, pongWait time.Duration) *Server { s := &Server{ AlertManager: a, wsServer: &WSServer{ AlertManager: a, broadcast: make(chan string, 500), quit: make(chan bool, 1), register: make(chan *WSClient), unregister: make(chan *WSClient), clients: make(map[*WSClient]bool), pongWait: pongWait, pingPeriod: (pongWait * 8) / 10, }, } server.HandleFunc("/ws/alert", s.serveMessages) return s }