Implement config adapters and beginning of Caddyfile adapter

Along with several other changes, such as renaming caddyhttp.ServerRoute
to caddyhttp.Route, exporting some types that were not exported before,
and tweaking the caddytls TLS values to be more consistent.

Notably, we also now disable automatic cert management for names which
already have a cert (manually) loaded into the cache. These names no
longer need to be specified in the "skip_certificates" field of the
automatic HTTPS config, because they will be skipped automatically.
This commit is contained in:
Matthew Holt
2019-08-09 12:05:47 -06:00
parent 4950ce485f
commit ab885f07b8
54 changed files with 4875 additions and 232 deletions

View File

@ -15,6 +15,7 @@
package caddyzstd
import (
"github.com/caddyserver/caddy/caddyconfig/caddyfile"
"github.com/caddyserver/caddy/v2"
"github.com/caddyserver/caddy/v2/modules/caddyhttp/encode"
"github.com/klauspost/compress/zstd"
@ -30,6 +31,11 @@ func init() {
// Zstd can create Zstandard encoders.
type Zstd struct{}
// UnmarshalCaddyfile sets up the handler from Caddyfile tokens.
func (z *Zstd) UnmarshalCaddyfile(d *caddyfile.Dispenser) error {
return nil
}
// AcceptEncoding returns the name of the encoding as
// used in the Accept-Encoding request headers.
func (Zstd) AcceptEncoding() string { return "zstd" }
@ -40,5 +46,8 @@ func (z Zstd) NewEncoder() encode.Encoder {
return writer
}
// Interface guard
var _ encode.Encoding = (*Zstd)(nil)
// Interface guards
var (
_ encode.Encoding = (*Zstd)(nil)
_ caddyfile.Unmarshaler = (*Zstd)(nil)
)