Improve godocs all around

These will be used in the new automated documentation system
This commit is contained in:
Matthew Holt
2019-12-23 12:45:35 -07:00
parent cbb405f6aa
commit 95ed603de7
26 changed files with 388 additions and 99 deletions

View File

@ -29,7 +29,9 @@ func init() {
}
// Brotli can create brotli encoders. Note that brotli
// is not known for great encoding performance.
// is not known for great encoding performance, and
// its use during requests is discouraged; instead,
// pre-compress the content instead.
type Brotli struct {
Quality *int `json:"quality,omitempty"`
}

View File

@ -39,9 +39,15 @@ func init() {
// Encode is a middleware which can encode responses.
type Encode struct {
// Selection of compression algorithms to choose from. The best one
// will be chosen based on the client's Accept-Encoding header.
EncodingsRaw caddy.ModuleMap `json:"encodings,omitempty" caddy:"namespace=http.encoders"`
Prefer []string `json:"prefer,omitempty"`
MinLength int `json:"minimum_length,omitempty"`
// If the client has no strong preference, choose this encoding. TODO: Not yet implemented
// Prefer []string `json:"prefer,omitempty"`
// Only encode responses that are at least this many bytes long.
MinLength int `json:"minimum_length,omitempty"`
writerPools map[string]*sync.Pool // TODO: these pools do not get reused through config reloads...
}
@ -66,11 +72,9 @@ func (enc *Encode) Provision(ctx caddy.Context) error {
return fmt.Errorf("adding encoding %s: %v", modName, err)
}
}
if enc.MinLength == 0 {
enc.MinLength = defaultMinLength
}
return nil
}