mirror of
https://github.com/caddyserver/caddy.git
synced 2025-06-05 20:26:52 +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:
31
modules/caddyhttp/encode/brotli/brotli_precompressed.go
Normal file
31
modules/caddyhttp/encode/brotli/brotli_precompressed.go
Normal file
@ -0,0 +1,31 @@
|
||||
package caddybrotli
|
||||
|
||||
import (
|
||||
"github.com/caddyserver/caddy/v2"
|
||||
"github.com/caddyserver/caddy/v2/modules/caddyhttp/encode"
|
||||
)
|
||||
|
||||
func init() {
|
||||
caddy.RegisterModule(BrotliPrecompressed{})
|
||||
}
|
||||
|
||||
// BrotliPrecompressed provides the file extension for files precompressed with brotli encoding.
|
||||
type BrotliPrecompressed struct{}
|
||||
|
||||
// CaddyModule returns the Caddy module information.
|
||||
func (BrotliPrecompressed) CaddyModule() caddy.ModuleInfo {
|
||||
return caddy.ModuleInfo{
|
||||
ID: "http.precompressed.br",
|
||||
New: func() caddy.Module { return new(BrotliPrecompressed) },
|
||||
}
|
||||
}
|
||||
|
||||
// AcceptEncoding returns the name of the encoding as
|
||||
// used in the Accept-Encoding request headers.
|
||||
func (BrotliPrecompressed) AcceptEncoding() string { return "br" }
|
||||
|
||||
// Suffix returns the filename suffix of precompressed files.
|
||||
func (BrotliPrecompressed) Suffix() string { return ".br" }
|
||||
|
||||
// Interface guards
|
||||
var _ encode.Precompressed = (*BrotliPrecompressed)(nil)
|
Reference in New Issue
Block a user