diff options
author | Steffen Brüheim <ueffel@gmail.com> | 2021-03-30 02:47:19 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-03-29 18:47:19 -0600 |
commit | f35a7fa466ffb06c38dcb3216e30c13aa8e14ce5 (patch) | |
tree | 5fb5b40ad787a6db69cc1bec543fe6eed234748f /modules/caddyhttp/encode/zstd | |
parent | 75f797debdd6c4294497edba9889c6251a8542e7 (diff) |
encode,staticfiles: Content negotiation, precompressed files (#4045)
* 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
Diffstat (limited to 'modules/caddyhttp/encode/zstd')
-rw-r--r-- | modules/caddyhttp/encode/zstd/zstd_precompressed.go | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/modules/caddyhttp/encode/zstd/zstd_precompressed.go b/modules/caddyhttp/encode/zstd/zstd_precompressed.go new file mode 100644 index 0000000..522f417 --- /dev/null +++ b/modules/caddyhttp/encode/zstd/zstd_precompressed.go @@ -0,0 +1,28 @@ +package caddyzstd + +import ( + "github.com/caddyserver/caddy/v2" + "github.com/caddyserver/caddy/v2/modules/caddyhttp/encode" +) + +func init() { + caddy.RegisterModule(ZstdPrecompressed{}) +} + +// ZstdPrecompressed provides the file extension for files precompressed with zstandard encoding. +type ZstdPrecompressed struct { + Zstd +} + +// CaddyModule returns the Caddy module information. +func (ZstdPrecompressed) CaddyModule() caddy.ModuleInfo { + return caddy.ModuleInfo{ + ID: "http.precompressed.zstd", + New: func() caddy.Module { return new(ZstdPrecompressed) }, + } +} + +// Suffix returns the filename suffix of precompressed files. +func (ZstdPrecompressed) Suffix() string { return ".zst" } + +var _ encode.Precompressed = (*ZstdPrecompressed)(nil) |