From 8057d668bb0950eded59adcdeb5939a7c480e7d5 Mon Sep 17 00:00:00 2001 From: Nick Craig-Wood Date: Thu, 26 Nov 2015 16:52:54 +0000 Subject: [PATCH] Fix crash in http logging - fixes #223 A nil-pointer exception was caused if the http transaction ever resulted in a go error while using `--dump-bodies`. Now don't ignore the error and log it instead of the http body. --- fs/loghttp.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/fs/loghttp.go b/fs/loghttp.go index 4c6f868e4..81ed02061 100644 --- a/fs/loghttp.go +++ b/fs/loghttp.go @@ -48,10 +48,14 @@ func (t *LoggedTransport) RoundTrip(req *http.Request) (resp *http.Response, err log.Println(string(buf)) log.Println(separatorReq) resp, err = t.wrapped.RoundTrip(req) - buf, _ = httputil.DumpResponse(resp, t.logBody) log.Println(separatorResp) log.Println("HTTP RESPONSE") - log.Println(string(buf)) + if err != nil { + log.Printf("Error: %v\n", err) + } else { + buf, _ = httputil.DumpResponse(resp, t.logBody) + log.Println(string(buf)) + } log.Println(separatorResp) return resp, err }