mirror of
https://github.com/caddyserver/caddy.git
synced 2024-12-16 08:56:18 +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
32 lines
933 B
Go
32 lines
933 B
Go
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)
|