From fadf666704b098b37f9c6a0b6aed8a43c9ab213d Mon Sep 17 00:00:00 2001
From: Feuerfuchs <git@feuerfuchs.dev>
Date: Tue, 12 Nov 2019 10:54:47 +0100
Subject: Enable compression with brotli

---
 go.mod         |  1 +
 go.sum         |  2 ++
 gopherproxy.go | 12 +++++++-----
 3 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/go.mod b/go.mod
index bccf9dd..b8e8baf 100644
--- a/go.mod
+++ b/go.mod
@@ -1,6 +1,7 @@
 module git.feuerfuchs.dev/Feuerfuchs/gopherproxy
 
 require (
+	github.com/NYTimes/gziphandler v1.1.1
 	github.com/davidbyttow/govips v0.0.0-20190304175058-d272f04c0fea
 	github.com/gobuffalo/packr/v2 v2.1.0
 	github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646
diff --git a/go.sum b/go.sum
index 4c96b62..544eee6 100644
--- a/go.sum
+++ b/go.sum
@@ -1,3 +1,5 @@
+github.com/NYTimes/gziphandler v1.1.1 h1:ZUDjpQae29j0ryrS0u/B8HZfJBtBQHjqw2rQ2cqUQ3I=
+github.com/NYTimes/gziphandler v1.1.1/go.mod h1:n/CVRwUEOgIxrgPvAQhUUr9oeUtvrhMomdKFjzJNB0c=
 github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
 github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
 github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
diff --git a/gopherproxy.go b/gopherproxy.go
index 34e6ff8..c91afdf 100644
--- a/gopherproxy.go
+++ b/gopherproxy.go
@@ -21,6 +21,8 @@ import (
 	"github.com/gobuffalo/packr/v2"
 
 	"github.com/davidbyttow/govips/pkg/vips"
+
+	"github.com/NYTimes/gziphandler"
 )
 
 type Item struct {
@@ -382,11 +384,11 @@ func ListenAndServe(bind, robotsfile string, robotsdebug bool, vipsconcurrency i
 		ConcurrencyLevel: vipsconcurrency,
 	})
 
-	http.HandleFunc("/", GopherHandler(tpl, robotsdata, AssetList{styleAsset, jsAsset, fontwAsset, fontw2Asset, propfontwAsset, propfontw2Asset}, robotsdebug, uri))
-	http.HandleFunc("/robots.txt", RobotsTxtHandler(robotstxtdata))
-	http.HandleFunc("/favicon.ico", FaviconHandler(favicondata))
-	http.HandleFunc(styleAsset, StyleHandler(styledata))
-	http.HandleFunc(jsAsset, JavaScriptHandler(jsdata))
+	http.Handle("/", gziphandler.GzipHandler(GopherHandler(tpl, robotsdata, AssetList{styleAsset, jsAsset, fontwAsset, fontw2Asset, propfontwAsset, propfontw2Asset}, robotsdebug, uri)))
+	http.Handle("/robots.txt", gziphandler.GzipHandler(RobotsTxtHandler(robotstxtdata)))
+	http.Handle("/favicon.ico", gziphandler.GzipHandler(FaviconHandler(favicondata)))
+	http.Handle(styleAsset, gziphandler.GzipHandler(StyleHandler(styledata)))
+	http.Handle(jsAsset, gziphandler.GzipHandler(JavaScriptHandler(jsdata)))
 	http.HandleFunc(fontwAsset, FontHandler(false, fontdataw))
 	http.HandleFunc(fontw2Asset, FontHandler(true, fontdataw2))
 	http.HandleFunc(propfontwAsset, FontHandler(false, propfontdataw))
-- 
cgit v1.2.3-70-g09d2