From 46d7cc83c97835110372e96e9fa77c70a2735a54 Mon Sep 17 00:00:00 2001 From: emile Date: Thu, 15 Oct 2015 09:08:16 +0200 Subject: [PATCH] Better logs http status in websocket --- middlewares/websocketproxy.go | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/middlewares/websocketproxy.go b/middlewares/websocketproxy.go index abb82688f..b377b9940 100644 --- a/middlewares/websocketproxy.go +++ b/middlewares/websocketproxy.go @@ -73,15 +73,16 @@ func NewProxy(target *url.URL) *WebsocketProxy { // ServeHTTP implements the http.Handler that proxies WebSocket connections. func (w *WebsocketProxy) ServeHTTP(rw http.ResponseWriter, req *http.Request) { if w.Backend == nil { - log.Println("websocketproxy: backend function is not defined") - http.Error(rw, "internal server error (code: 1)", http.StatusInternalServerError) + log.Errorf("Websocketproxy: backend function is not defined") + http.Error(rw, "Backend not found", http.StatusInternalServerError) + http.NotFound(rw, req) return } backendURL := w.Backend(req) if backendURL == nil { - log.Println("websocketproxy: backend URL is nil") - http.Error(rw, "internal server error (code: 2)", http.StatusInternalServerError) + log.Errorf("Websocketproxy: backend URL is nil") + http.Error(rw, "Backend URL is nil", http.StatusInternalServerError) return } @@ -131,7 +132,8 @@ func (w *WebsocketProxy) ServeHTTP(rw http.ResponseWriter, req *http.Request) { // http://tools.ietf.org/html/draft-ietf-hybi-websocket-multiplexing-01 connBackend, resp, err := dialer.Dial(backendURL.String(), nil) if err != nil { - log.Printf("websocketproxy: couldn't dial to remote backend url %s, %s, %+v", backendURL.String(), err, resp) + log.Errorf("Websocketproxy: couldn't dial to remote backend url %s, %s, %+v", backendURL.String(), err, resp) + http.NotFound(rw, req) return } defer connBackend.Close() @@ -152,7 +154,8 @@ func (w *WebsocketProxy) ServeHTTP(rw http.ResponseWriter, req *http.Request) { // Also pass the header that we gathered from the Dial handshake. connPub, err := upgrader.Upgrade(rw, req, upgradeHeader) if err != nil { - log.Printf("websocketproxy: couldn't upgrade %s\n", err) + log.Errorf("Websocketproxy: couldn't upgrade %s", err) + http.NotFound(rw, req) return } defer connPub.Close()