From 839041e912fcc0fdefcea9392bd4f5ec3b1ad1b1 Mon Sep 17 00:00:00 2001 From: gerdstolpmann Date: Sat, 4 Apr 2020 04:40:12 +0200 Subject: [PATCH] do not expect "Origin" header for websocket connections (#80) * websocket: do not check the presence of the "Origin" header * avoid using http.DefaultServeMux --- broker/broker.go | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/broker/broker.go b/broker/broker.go index 04636c0..446e4d5 100644 --- a/broker/broker.go +++ b/broker/broker.go @@ -155,12 +155,14 @@ func (b *Broker) StartWebsocketListening() { path := b.config.WsPath hp := ":" + b.config.WsPort log.Info("Start Websocket Listener on:", zap.String("hp", hp), zap.String("path", path)) - http.Handle(path, websocket.Handler(b.wsHandler)) + ws := &websocket.Server{Handler: websocket.Handler(b.wsHandler)} + mux := http.NewServeMux() + mux.Handle(path, ws) var err error if b.config.WsTLS { - err = http.ListenAndServeTLS(hp, b.config.TlsInfo.CertFile, b.config.TlsInfo.KeyFile, nil) + err = http.ListenAndServeTLS(hp, b.config.TlsInfo.CertFile, b.config.TlsInfo.KeyFile, mux) } else { - err = http.ListenAndServe(hp, nil) + err = http.ListenAndServe(hp, mux) } if err != nil { log.Error("ListenAndServe:" + err.Error())