diff --git a/commands/http/handler.go b/commands/http/handler.go index 270ad4ac060..44646d31f77 100644 --- a/commands/http/handler.go +++ b/commands/http/handler.go @@ -288,7 +288,6 @@ func sendResponse(w http.ResponseWriter, r *http.Request, res cmds.Response, req log.Error("err: ", err) w.Header().Set(StreamErrHeader, sanitizedErrStr(err)) } - } func flushCopy(w io.Writer, r io.Reader) error { @@ -299,9 +298,6 @@ func flushCopy(w io.Writer, r io.Reader) error { return err } for { - // flush to send header when r is not ready yet - f.Flush() - n, err := r.Read(buf) switch err { case io.EOF: @@ -324,6 +320,8 @@ func flushCopy(w io.Writer, r io.Reader) error { if nw != n { return fmt.Errorf("http write failed to write full amount: %d != %d", nw, n) } + + f.Flush() } return nil }