From 937492f6f554d51d8cae62829b6229071cac994e Mon Sep 17 00:00:00 2001 From: Peter De Wachter Date: Wed, 14 Aug 2019 17:54:02 +0200 Subject: Do not buffer responses in the image proxy The image proxy buffered the whole image before sending it to the browser. If the image is large and/or hosted on a slow server, this caused a long delay before the user's browser could display anything. --- http/response/builder.go | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'http') diff --git a/http/response/builder.go b/http/response/builder.go index f17c62e..b8ba1ef 100644 --- a/http/response/builder.go +++ b/http/response/builder.go @@ -8,6 +8,7 @@ import ( "compress/flate" "compress/gzip" "fmt" + "io" "net/http" "strings" "time" @@ -84,6 +85,10 @@ func (b *Builder) Write() { b.compress([]byte(v)) case error: b.compress([]byte(v.Error())) + case io.Reader: + // Compression not implemented in this case + b.writeHeaders() + io.Copy(b.w, v) } } -- cgit v1.2.3