From fae064262d9c40393d634660b94d36ce6703aa1c Mon Sep 17 00:00:00 2001 From: Francis Lavoie Date: Tue, 19 May 2020 18:59:51 -0400 Subject: httpcaddyfile: Add `auto_https` global option (#3284) --- caddyconfig/httpcaddyfile/options.go | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'caddyconfig/httpcaddyfile/options.go') diff --git a/caddyconfig/httpcaddyfile/options.go b/caddyconfig/httpcaddyfile/options.go index 49a11f6..cecb3d4 100644 --- a/caddyconfig/httpcaddyfile/options.go +++ b/caddyconfig/httpcaddyfile/options.go @@ -38,6 +38,7 @@ func init() { RegisterGlobalOption("on_demand_tls", parseOptOnDemand) RegisterGlobalOption("local_certs", parseOptTrue) RegisterGlobalOption("key_type", parseOptSingleString) + RegisterGlobalOption("auto_https", parseOptAutoHTTPS) } func parseOptTrue(d *caddyfile.Dispenser) (interface{}, error) { @@ -264,3 +265,18 @@ func parseOptOnDemand(d *caddyfile.Dispenser) (interface{}, error) { } return ond, nil } + +func parseOptAutoHTTPS(d *caddyfile.Dispenser) (interface{}, error) { + d.Next() // consume parameter name + if !d.Next() { + return "", d.ArgErr() + } + val := d.Val() + if d.Next() { + return "", d.ArgErr() + } + if val != "off" && val != "disable_redirects" { + return "", d.Errf("auto_https must be either 'off' or 'disable_redirects'") + } + return val, nil +} -- cgit v1.2.3