@ -43,7 +43,6 @@ func parseCaddyfile(h httpcaddyfile.Helper) (caddyhttp.MiddlewareHandler, error)
// gzip [<level>]
// zstd
// minimum_length <length>
// prefer off|<formats...>
// # response matcher block
// match {
// status <code...>
@ -55,8 +54,7 @@ func parseCaddyfile(h httpcaddyfile.Helper) (caddyhttp.MiddlewareHandler, error)
//
// Specifying the formats on the first line will use those formats' defaults.
func ( enc * Encode ) UnmarshalCaddyfile ( d * caddyfile . Dispenser ) error {
var preferDefaults [ ] string
var preferOff bool
var prefer [ ] string
responseMatchers := make ( map [ string ] caddyhttp . ResponseMatcher )
@ -74,7 +72,7 @@ func (enc *Encode) UnmarshalCaddyfile(d *caddyfile.Dispenser) error {
enc . EncodingsRaw = make ( caddy . ModuleMap )
}
enc . EncodingsRaw [ arg ] = caddyconfig . JSON ( encoding , nil )
preferDefaults = append ( preferDefaults , arg )
prefer = append ( prefer , arg )
}
for d . NextBlock ( 0 ) {
@ -88,20 +86,6 @@ func (enc *Encode) UnmarshalCaddyfile(d *caddyfile.Dispenser) error {
return err
}
enc . MinLength = minLength
case "prefer" :
var encs [ ] string
for d . NextArg ( ) {
// if one of the values is "off", then
// we'll skip setting the prefer list.
if d . Val ( ) == "off" {
preferOff = true
}
encs = append ( encs , d . Val ( ) )
}
if len ( encs ) == 0 {
return d . ArgErr ( )
}
enc . Prefer = encs
case "match" :
err := caddyhttp . ParseNamedResponseMatcher ( d . NewFromNextSegment ( ) , responseMatchers )
if err != nil {
@ -124,22 +108,13 @@ func (enc *Encode) UnmarshalCaddyfile(d *caddyfile.Dispenser) error {
enc . EncodingsRaw = make ( caddy . ModuleMap )
}
enc . EncodingsRaw [ name ] = caddyconfig . JSON ( encoding , nil )
preferDefaults = append ( preferDefaults , name )
prefer = append ( prefer , name )
}
}
}
// if the "prefer" subdirective wasn't specified, use
// the order in which the encoders were defined.
if len ( enc . Prefer ) == 0 {
enc . Prefer = preferDefaults
}
// if "prefer off" was set, then we'll not use the default
// behaviour of the order in which they were defined.
if preferOff {
enc . Prefer = nil
}
// use the order in which the encoders were defined.
enc . Prefer = prefer
return nil
}