mirror of
https://github.com/caddyserver/caddy.git
synced 2025-05-23 19:10:03 +08:00
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
This commit is contained in:
28
modules/caddyhttp/encode/gzip/gzip_precompressed.go
Normal file
28
modules/caddyhttp/encode/gzip/gzip_precompressed.go
Normal file
@ -0,0 +1,28 @@
|
||||
package caddygzip
|
||||
|
||||
import (
|
||||
"github.com/caddyserver/caddy/v2"
|
||||
"github.com/caddyserver/caddy/v2/modules/caddyhttp/encode"
|
||||
)
|
||||
|
||||
func init() {
|
||||
caddy.RegisterModule(GzipPrecompressed{})
|
||||
}
|
||||
|
||||
// GzipPrecompressed provides the file extension for files precompressed with gzip encoding.
|
||||
type GzipPrecompressed struct {
|
||||
Gzip
|
||||
}
|
||||
|
||||
// CaddyModule returns the Caddy module information.
|
||||
func (GzipPrecompressed) CaddyModule() caddy.ModuleInfo {
|
||||
return caddy.ModuleInfo{
|
||||
ID: "http.precompressed.gzip",
|
||||
New: func() caddy.Module { return new(GzipPrecompressed) },
|
||||
}
|
||||
}
|
||||
|
||||
// Suffix returns the filename suffix of precompressed files.
|
||||
func (GzipPrecompressed) Suffix() string { return ".gz" }
|
||||
|
||||
var _ encode.Precompressed = (*GzipPrecompressed)(nil)
|
Reference in New Issue
Block a user