mirror of
https://github.com/caddyserver/caddy.git
synced 2024-11-22 14:52:55 +08:00
cmd: fix auto-detetction of .caddyfile extension (#6356)
* cmd: fix auto-detetction of .caddyfile extension Signed-off-by: Mohammed Al Sahaf <msaa1990@gmail.com> * move conditions around and add clarifying comment Signed-off-by: Mohammed Al Sahaf <msaa1990@gmail.com> * reject ambiguous config file name Signed-off-by: Mohammed Al Sahaf <msaa1990@gmail.com> --------- Signed-off-by: Mohammed Al Sahaf <msaa1990@gmail.com>
This commit is contained in:
parent
f8a2c60297
commit
15faeacb60
15
cmd/main.go
15
cmd/main.go
|
@ -163,9 +163,18 @@ func loadConfigWithLogger(logger *zap.Logger, configFile, adapterName string) ([
|
||||||
// caddyfile adapter for convenience
|
// caddyfile adapter for convenience
|
||||||
baseConfig := strings.ToLower(filepath.Base(configFile))
|
baseConfig := strings.ToLower(filepath.Base(configFile))
|
||||||
baseConfigExt := filepath.Ext(baseConfig)
|
baseConfigExt := filepath.Ext(baseConfig)
|
||||||
if (strings.HasPrefix(baseConfig, "caddyfile") ||
|
startsOrEndsInCaddyfile := strings.HasPrefix(baseConfig, "caddyfile") || strings.HasSuffix(baseConfig, ".caddyfile")
|
||||||
strings.HasSuffix(baseConfig, ".caddyfile")) &&
|
|
||||||
(len(baseConfigExt) == 0 || caddyconfig.GetAdapter(baseConfigExt[1:]) == nil) &&
|
// If the adapter is not specified, the config file is not starts with "caddyfile", and isn't a JSON file (e.g. Caddyfile.yaml),
|
||||||
|
// then we don't know what the config format is.
|
||||||
|
if adapterName == "" && startsOrEndsInCaddyfile && baseConfigExt != ".caddyfile" && baseConfigExt != ".json" {
|
||||||
|
return nil, "", fmt.Errorf("ambiguous config file format; please specify adapter (use --adapter)")
|
||||||
|
}
|
||||||
|
|
||||||
|
// If the config file starts or ends with "caddyfile",
|
||||||
|
// the extension of the config file is not ".json", AND
|
||||||
|
// the user did not specify an adapter, then we assume it's Caddyfile.
|
||||||
|
if startsOrEndsInCaddyfile &&
|
||||||
baseConfigExt != ".json" &&
|
baseConfigExt != ".json" &&
|
||||||
adapterName == "" {
|
adapterName == "" {
|
||||||
adapterName = "caddyfile"
|
adapterName = "caddyfile"
|
||||||
|
|
Loading…
Reference in New Issue
Block a user