mirror of
https://github.com/caddyserver/caddy.git
synced 2024-12-12 13:33:51 +08:00
f35a7fa466
* encode: implement prefer setting * encode: minimum_length configurable via caddyfile * encode: configurable content-types which to encode * file_server: support precompressed files * encode: use ReponseMatcher for conditional encoding of content * linting error & documentation of encode.PrecompressedOrder * encode: allow just one response matcher also change the namespace of the encoders back, I accidently changed to precompressed >.> default matchers include a * to match to any charset, that may be appended * rounding of the PR * added integration tests for new caddyfile directives * improved various doc strings (punctuation and typos) * added json tag for file_server precompress order and encode matcher * file_server: add vary header, remove accept-ranges when serving precompressed files * encode: move Suffix implementation to precompressed modules
67 lines
1.2 KiB
Plaintext
67 lines
1.2 KiB
Plaintext
:80
|
|
|
|
encode gzip zstd {
|
|
minimum_length 256
|
|
prefer zstd gzip
|
|
match {
|
|
status 2xx 4xx 500
|
|
header Content-Type text/*
|
|
header Content-Type application/json*
|
|
header Content-Type application/javascript*
|
|
header Content-Type application/xhtml+xml*
|
|
header Content-Type application/atom+xml*
|
|
header Content-Type application/rss+xml*
|
|
header Content-Type image/svg+xml*
|
|
}
|
|
}
|
|
----------
|
|
{
|
|
"apps": {
|
|
"http": {
|
|
"servers": {
|
|
"srv0": {
|
|
"listen": [
|
|
":80"
|
|
],
|
|
"routes": [
|
|
{
|
|
"handle": [
|
|
{
|
|
"encodings": {
|
|
"gzip": {},
|
|
"zstd": {}
|
|
},
|
|
"handler": "encode",
|
|
"match": {
|
|
"headers": {
|
|
"Content-Type": [
|
|
"text/*",
|
|
"application/json*",
|
|
"application/javascript*",
|
|
"application/xhtml+xml*",
|
|
"application/atom+xml*",
|
|
"application/rss+xml*",
|
|
"image/svg+xml*"
|
|
]
|
|
},
|
|
"status_code": [
|
|
2,
|
|
4,
|
|
500
|
|
]
|
|
},
|
|
"minimum_length": 256,
|
|
"prefer": [
|
|
"zstd",
|
|
"gzip"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|