diff options
author | Francis Lavoie <[email protected]> | 2024-10-02 09:31:58 -0400 |
---|---|---|
committer | GitHub <[email protected]> | 2024-10-02 07:31:58 -0600 |
commit | 16724842d9b9096b800326d0b7667a4361552552 (patch) | |
tree | 212b53abe5ce73bce9cb1825b6c06cce0b467194 /caddyconfig/httpcaddyfile/options.go | |
parent | 792f1c7ed759b97ee6dc80246cf2de054c09a12f (diff) | |
download | caddy-16724842d9b9096b800326d0b7667a4361552552.tar.gz caddy-16724842d9b9096b800326d0b7667a4361552552.zip |
caddyhttp: Implement `auto_https prefer_wildcard` option (#6146)
* Allow specifying multiple `auto_https` options
* Implement `auto_https prefer_wildcard` option
* Adapt tests, add mock DNS module for config testing
* Rebase fix
Diffstat (limited to 'caddyconfig/httpcaddyfile/options.go')
-rw-r--r-- | caddyconfig/httpcaddyfile/options.go | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/caddyconfig/httpcaddyfile/options.go b/caddyconfig/httpcaddyfile/options.go index c14208b61..abbe8f418 100644 --- a/caddyconfig/httpcaddyfile/options.go +++ b/caddyconfig/httpcaddyfile/options.go @@ -452,15 +452,22 @@ func parseOptPersistConfig(d *caddyfile.Dispenser, _ any) (any, error) { func parseOptAutoHTTPS(d *caddyfile.Dispenser, _ any) (any, error) { d.Next() // consume option name - if !d.Next() { - return "", d.ArgErr() - } - val := d.Val() - if d.Next() { + val := d.RemainingArgs() + if len(val) == 0 { return "", d.ArgErr() } - if val != "off" && val != "disable_redirects" && val != "disable_certs" && val != "ignore_loaded_certs" { - return "", d.Errf("auto_https must be one of 'off', 'disable_redirects', 'disable_certs', or 'ignore_loaded_certs'") + for _, v := range val { + switch v { + case "off": + case "disable_redirects": + case "disable_certs": + case "ignore_loaded_certs": + case "prefer_wildcard": + break + + default: + return "", d.Errf("auto_https must be one of 'off', 'disable_redirects', 'disable_certs', 'ignore_loaded_certs', or 'prefer_wildcard'") + } } return val, nil } |