From b8f729b88fccfd4d5178269df62a56722a37b5d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=A9vin=20Dunglas?= Date: Sun, 4 Feb 2024 23:28:37 +0100 Subject: [PATCH] fix: add more media types to the compressed by default list --- modules/caddyhttp/encode/encode.go | 50 +++++++++++++++++++++++++++--- 1 file changed, 46 insertions(+), 4 deletions(-) diff --git a/modules/caddyhttp/encode/encode.go b/modules/caddyhttp/encode/encode.go index 8f733a3f..7fce7336 100644 --- a/modules/caddyhttp/encode/encode.go +++ b/modules/caddyhttp/encode/encode.go @@ -84,17 +84,59 @@ func (enc *Encode) Provision(ctx caddy.Context) error { if enc.Matcher == nil { // common text-based content types + // list based on https://developers.cloudflare.com/speed/optimization/content/brotli/content-compression/#compression-between-cloudflare-and-website-visitors + // with application/atom+rss added enc.Matcher = &caddyhttp.ResponseMatcher{ Headers: http.Header{ "Content-Type": []string{ - "text/*", - "application/json*", - "application/javascript*", - "application/xhtml+xml*", "application/atom+xml*", + "application/eot*", + "application/font*", + "application/font-sfnt*", + "application/font-woff*", + "application/geo+json*", + "application/graphql+json*", + "application/javascript*", + "application/javascript-binast*", + "application/json*", + "application/ld+json*", + "application/manifest+json*", + "application/opentype*", + "application/otf*", "application/rss+xml*", + "application/truetype*", + "application/ttf*", + "application/vnd.api+json*", + "application/vnd.ms-fontobject*", "application/wasm*", + "application/x-httpd-cgi*", + "application/x-javascript*", + "application/x-opentype*", + "application/x-otf*", + "application/x-perl*", + "application/x-protobuf*", + "application/x-ttf*", + "application/xhtml+xml*", + "application/xml*", + "font/otf*", + "font/ttf*", + "font/x-woff*", "image/svg+xml*", + "image/vnd.microsoft.icon*", + "image/x-icon*", + "multipart/bag*", + "multipart/mixed*", + "text/css*", + "text/javascript*", + "text/js*", + "text/plain*", + "text/richtext*", + "text/x-component*", + "text/x-java-source*", + "text/x-markdown*", + "text/x-script*", + "text/xml*", + "text/html*", }, }, }