Skip to content

Commit 7091dd9

Browse files
committed
api: fix log websocket handler
1 parent 20a4ddb commit 7091dd9

File tree

1 file changed

+14
-11
lines changed

1 file changed

+14
-11
lines changed

api/api.go

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)