diff --git a/cmd/main.go b/cmd/main.go index 10b5cbc..a3a61e1 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -20,7 +20,6 @@ import ( "codeberg.org/codeberg/pages/server/certificates" "codeberg.org/codeberg/pages/server/database" "codeberg.org/codeberg/pages/server/gitea" - "codeberg.org/codeberg/pages/server/gzip" ) // AllowedCorsDomains lists the domains for which Cross-Origin Resource Sharing is allowed. @@ -89,11 +88,11 @@ func Serve(ctx *cli.Context) error { } // Create handler based on settings - httpsHandler := gzip.SetupCompression(server.Handler(mainDomainSuffix, rawDomain, + httpsHandler := server.Handler(mainDomainSuffix, rawDomain, giteaClient, giteaRoot, rawInfoPage, BlacklistedPaths, allowedCorsDomains, - dnsLookupCache, canonicalDomainCache)) + dnsLookupCache, canonicalDomainCache) httpHandler := server.SetupHTTPACMEChallengeServer(challengeCache) diff --git a/server/gzip/gzip.go b/server/gzip/gzip.go deleted file mode 100644 index fb77eaa..0000000 --- a/server/gzip/gzip.go +++ /dev/null @@ -1,37 +0,0 @@ -package gzip - -import ( - "compress/gzip" - "net/http" - "strings" -) - -type gzipResponseWriter struct { - Writer *gzip.Writer - ResponseWriter http.ResponseWriter -} - -func (gz gzipResponseWriter) Header() http.Header { - return gz.ResponseWriter.Header() -} - -func (gz gzipResponseWriter) Write(b []byte) (int, error) { - return gz.Writer.Write(b) -} - -func (gz gzipResponseWriter) WriteHeader(statusCode int) { - gz.ResponseWriter.WriteHeader(statusCode) -} - -func SetupCompression(handler http.HandlerFunc) http.HandlerFunc { - return func(w http.ResponseWriter, r *http.Request) { - if !strings.Contains(r.Header.Get("Accept-Encoding"), "gzip") { - handler(w, r) - return - } - w.Header().Set("Content-Encoding", "gzip") - gz := gzip.NewWriter(w) - defer gz.Close() - handler(gzipResponseWriter{Writer: gz, ResponseWriter: w}, r) - } -}