This commit is contained in:
6543 2022-11-11 06:18:14 +01:00
parent a107ce0a05
commit 64201735a9
No known key found for this signature in database
GPG key ID: B8BE6D610E61C862
2 changed files with 2 additions and 40 deletions

View file

@ -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)

View file

@ -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)
}
}