From b687d7b9670890efd8dc065fb7a025cd0c3a1445 Mon Sep 17 00:00:00 2001 From: Francis Lavoie Date: Sun, 8 May 2022 21:32:10 -0400 Subject: httpcaddyfile: Support multiple values for `default_bind` (#4774) * httpcaddyfile: Support multiple values for `default_bind` * Fix ordering of server blocks --- caddyconfig/httpcaddyfile/options.go | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'caddyconfig/httpcaddyfile/options.go') diff --git a/caddyconfig/httpcaddyfile/options.go b/caddyconfig/httpcaddyfile/options.go index 65b0338..ad52a7b 100644 --- a/caddyconfig/httpcaddyfile/options.go +++ b/caddyconfig/httpcaddyfile/options.go @@ -29,7 +29,7 @@ func init() { RegisterGlobalOption("debug", parseOptTrue) RegisterGlobalOption("http_port", parseOptHTTPPort) RegisterGlobalOption("https_port", parseOptHTTPSPort) - RegisterGlobalOption("default_bind", parseOptSingleString) + RegisterGlobalOption("default_bind", parseOptStringList) RegisterGlobalOption("grace_period", parseOptDuration) RegisterGlobalOption("default_sni", parseOptSingleString) RegisterGlobalOption("order", parseOptOrder) @@ -279,6 +279,15 @@ func parseOptSingleString(d *caddyfile.Dispenser, _ interface{}) (interface{}, e return val, nil } +func parseOptStringList(d *caddyfile.Dispenser, _ interface{}) (interface{}, error) { + d.Next() // consume parameter name + val := d.RemainingArgs() + if len(val) == 0 { + return "", d.ArgErr() + } + return val, nil +} + func parseOptAdmin(d *caddyfile.Dispenser, _ interface{}) (interface{}, error) { adminCfg := new(caddy.AdminConfig) for d.Next() { -- cgit v1.2.3