@@ -45,7 +45,8 @@ type APIServer struct {
4545 secret string
4646 debug bool
4747
48- listener net.Listener
48+ listener net.Listener
49+
4950 broadcastLogger * log.BroadcastLogger
5051}
5152
@@ -201,16 +202,17 @@ func (s *APIServer) logWebsocketHandler() http.HandlerFunc {
201202 }
202203 }
203204
204- var conn net.Conn
205- if r .Header .Get ("Upgrade" ) == "websocket" {
206- var err error
207- conn , _ , _ , err = ws .UpgradeHTTP (r , w )
208- if err != nil {
209- return
210- }
211- defer conn .Close ()
205+ if r .Header .Get ("Upgrade" ) != "websocket" {
206+ w .WriteHeader (http .StatusBadRequest )
207+ return
212208 }
213209
210+ conn , _ , _ , err := ws .UpgradeHTTP (r , w )
211+ if err != nil {
212+ return
213+ }
214+ defer conn .Close ()
215+
214216 ctx := r .Context ()
215217 ch := s .broadcastLogger .Register (ctx )
216218 defer s .broadcastLogger .Unregister (ctx )
@@ -221,7 +223,6 @@ func (s *APIServer) logWebsocketHandler() http.HandlerFunc {
221223 w .WriteHeader (http .StatusOK )
222224 }
223225
224- var err error
225226 buf := & bytes.Buffer {}
226227 encoder := json .NewEncoder (buf )
227228 for {
@@ -275,7 +276,9 @@ func (s *APIServer) initHTTPRouter() http.Handler {
275276 if s .secret != "" {
276277 r .Use (s .authHTTPHandler ())
277278 }
278- r .Mount ("/log" , s .logWebsocketHandler ())
279+ if s .broadcastLogger != nil {
280+ r .Mount ("/log" , s .logWebsocketHandler ())
281+ }
279282 r .Mount ("/version" , s .versionInfo ())
280283 upstreamRouter := chi .NewRouter ()
281284 upstreams := s .core .GetUpstreams ()
0 commit comments