From 81fa4059dfc950041a29dad2ddd1c605cd4d416e Mon Sep 17 00:00:00 2001 From: Bryan Boreham Date: Fri, 17 Jun 2016 16:34:53 +0100 Subject: [PATCH] Use buffered writer for http headers --- proxy/proxy_intercept.go | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/proxy/proxy_intercept.go b/proxy/proxy_intercept.go index 42373914..5cf5ed13 100644 --- a/proxy/proxy_intercept.go +++ b/proxy/proxy_intercept.go @@ -78,17 +78,22 @@ func doRawStream(w http.ResponseWriter, resp *http.Response, client *httputil.Cl defer down.Close() defer up.Close() - if _, err := down.Write([]byte("HTTP/1.1 " + resp.Status + "\n")); err != nil { + if _, err := downBuf.Write([]byte("HTTP/1.1 " + resp.Status + "\n")); err != nil { Log.Warning(err) return } - if err := resp.Header.Write(down); err != nil { + if err := resp.Header.Write(downBuf); err != nil { Log.Warning(err) return } - if _, err := down.Write([]byte("\n")); err != nil { + if _, err := downBuf.Write([]byte("\n")); err != nil { + Log.Warning(err) + return + } + + if err = downBuf.Flush(); err != nil { Log.Warning(err) return }