/
caddyfile.go
44 lines (38 loc) · 935 Bytes
/
caddyfile.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
package s3browser
import (
"strconv"
"time"
"github.com/caddyserver/caddy/v2/caddyconfig/caddyfile"
"github.com/caddyserver/caddy/v2/caddyconfig/httpcaddyfile"
"github.com/caddyserver/caddy/v2/modules/caddyhttp"
)
func parseCaddyfile(h httpcaddyfile.Helper) (caddyhttp.MiddlewareHandler, error) {
var b S3Browser
err := b.UnmarshalCaddyfile(h.Dispenser)
if err != nil {
return nil, err
}
return b, err
}
func parseBoolArg(d *caddyfile.Dispenser, out *bool) error {
var strVal string
err := parseStringArg(d, &strVal)
if err == nil {
*out, err = strconv.ParseBool(strVal)
}
return err
}
func parseDurationArg(d *caddyfile.Dispenser, out *time.Duration) error {
var strVal string
err := parseStringArg(d, &strVal)
if err == nil {
*out, err = time.ParseDuration(strVal)
}
return err
}
func parseStringArg(d *caddyfile.Dispenser, out *string) error {
if !d.Args(out) {
return d.ArgErr()
}
return nil
}