15713: Don't sniff non-error response body.
authorTom Clegg <tclegg@veritasgenetics.com>
Thu, 24 Oct 2019 19:30:13 +0000 (15:30 -0400)
committerTom Clegg <tclegg@veritasgenetics.com>
Thu, 24 Oct 2019 19:30:13 +0000 (15:30 -0400)
Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tclegg@veritasgenetics.com>

sdk/go/httpserver/responsewriter.go

index 26aee65c5ca0da1f5e23e301aa88024c3fac51b9..884f0d8d7e2c8a87dbf0cde11135bde24b6f32c0 100644 (file)
@@ -47,8 +47,9 @@ func (w *responseWriter) WriteHeader(s int) {
 func (w *responseWriter) Write(data []byte) (n int, err error) {
        if w.wroteStatus == 0 {
                w.WriteHeader(http.StatusOK)
+       } else if w.wroteStatus >= 400 {
+               w.sniff(data)
        }
-       w.sniff(data)
        n, err = w.ResponseWriter.Write(data)
        w.wroteBodyBytes += n
        w.err = err