diff options
Diffstat (limited to 'middle.go')
-rw-r--r-- | middle.go | 32 |
1 files changed, 0 insertions, 32 deletions
diff --git a/middle.go b/middle.go deleted file mode 100644 index 29b49a6..0000000 --- a/middle.go +++ /dev/null @@ -1,32 +0,0 @@ -package main - -import ( - "compress/gzip" - "io" - "net/http" - "strings" -) - -type gzipResponseWriter struct { - io.Writer - http.ResponseWriter -} - -func (grw gzipResponseWriter) Write(data []byte) (int, error) { - return grw.Writer.Write(data) -} - -func gzipHandler(next http.Handler) http.Handler { - return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { - if !strings.Contains(r.Header.Get("Accept-Encoding"), "gzip") { - next.ServeHTTP(w, r) - return - } - - w.Header().Set("Content-Encoding", "gzip") - gzipWriter := gzip.NewWriter(w) - defer gzipWriter.Close() - gzippedResponseWriter := gzipResponseWriter{Writer: gzipWriter, ResponseWriter: w} - next.ServeHTTP(gzippedResponseWriter, r) - }) -} |