MCPcopy
hub / github.com/caddyserver/caddy / UnmarshalCaddyfile

Method UnmarshalCaddyfile

modules/caddyhttp/encode/zstd/zstd.go:53–98  ·  view source on GitHub ↗

UnmarshalCaddyfile sets up the handler from Caddyfile tokens.

(d *caddyfile.Dispenser)

Source from the content-addressed store, hash-verified

51
52// UnmarshalCaddyfile sets up the handler from Caddyfile tokens.
53func (z *Zstd) UnmarshalCaddyfile(d *caddyfile.Dispenser) error {
54 d.Next() // consume option name
55 args := d.RemainingArgs()
56 switch len(args) {
57 case 0:
58 case 1:
59 if _, err := parseEncoderLevel(args[0]); err != nil {
60 return d.Err(err.Error())
61 }
62 z.Level = args[0]
63 default:
64 return d.ArgErr()
65 }
66
67 for nesting := d.Nesting(); d.NextBlock(nesting); {
68 switch d.Val() {
69 case "level":
70 args := d.RemainingArgs()
71 if len(args) != 1 {
72 return d.ArgErr()
73 }
74 if z.Level != "" {
75 return d.Err("compression level already specified")
76 }
77 if _, err := parseEncoderLevel(args[0]); err != nil {
78 return d.Err(err.Error())
79 }
80 z.Level = args[0]
81
82 case "disable_checksum":
83 if d.NextArg() {
84 return d.ArgErr()
85 }
86 if z.Checksum != nil {
87 return d.Err("checksum already specified")
88 }
89 disabled := false
90 z.Checksum = &disabled
91
92 default:
93 return d.Errf("unknown subdirective '%s'", d.Val())
94 }
95 }
96
97 return nil
98}
99
100// Provision provisions z's configuration.
101func (z *Zstd) Provision(ctx caddy.Context) error {

Callers

nothing calls this directly

Calls 11

parseEncoderLevelFunction · 0.85
RemainingArgsMethod · 0.80
ErrMethod · 0.80
ArgErrMethod · 0.80
NestingMethod · 0.80
NextBlockMethod · 0.80
ValMethod · 0.80
NextArgMethod · 0.80
ErrfMethod · 0.80
NextMethod · 0.65
ErrorMethod · 0.45

Tested by

no test coverage detected