Fix TM2 HTTP serving to log write errors

Project: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/commit/3c17dab7
Tree: 
http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/tree/3c17dab7
Diff: 
http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/diff/3c17dab7

Branch: refs/heads/master
Commit: 3c17dab74725ba7f9aafe8c4124399d8edb1206f
Parents: 044b759
Author: Robert Butts <robert.o.bu...@gmail.com>
Authored: Fri Oct 21 15:35:51 2016 -0600
Committer: Jeremy Mitchell <mitchell...@gmail.com>
Committed: Fri Oct 28 15:04:12 2016 -0600

----------------------------------------------------------------------
 .../experimental/traffic_monitor/srvhttp/srvhttp.go   | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/3c17dab7/traffic_monitor/experimental/traffic_monitor/srvhttp/srvhttp.go
----------------------------------------------------------------------
diff --git a/traffic_monitor/experimental/traffic_monitor/srvhttp/srvhttp.go 
b/traffic_monitor/experimental/traffic_monitor/srvhttp/srvhttp.go
index ebbad03..a1ef6af 100644
--- a/traffic_monitor/experimental/traffic_monitor/srvhttp/srvhttp.go
+++ b/traffic_monitor/experimental/traffic_monitor/srvhttp/srvhttp.go
@@ -138,7 +138,10 @@ func (s Server) Run(f GetDataFunc, addr string, 
readTimeout time.Duration, write
        s.stoppableListenerWaitGroup.Add(1)
        go func() {
                defer s.stoppableListenerWaitGroup.Done()
-               server.Serve(s.stoppableListener)
+               err := server.Serve(s.stoppableListener)
+               if err != nil {
+                       log.Warnf("HTTP server stopped with error: %v\n", err)
+               }
        }()
 
        log.Infof("Web server listening on %s", addr)
@@ -284,10 +287,15 @@ func (s Server) dataRequest(w http.ResponseWriter, req 
*http.Request, t Type, f
        })
        if len(data) > 0 {
                w.WriteHeader(responseCode)
-               w.Write(data)
+               if _, err := w.Write(data); err != nil {
+                       log.Warnf("received error writing data request %v: 
%v\n", t, err)
+               }
+
        } else {
                w.WriteHeader(http.StatusInternalServerError)
-               w.Write([]byte("Internal Server Error"))
+               if _, err := w.Write([]byte("Internal Server Error")); err != 
nil {
+                       log.Warnf("received error writing data request %v: 
%v\n", t, err)
+               }
        }
 }
 

Reply via email to