MCPcopy
hub / github.com/caddyserver/caddy / cmdValidateConfig

Function cmdValidateConfig

cmd/commandfuncs.go:643–683  ·  view source on GitHub ↗
(fl Flags)

Source from the content-addressed store, hash-verified

641}
642
643func cmdValidateConfig(fl Flags) (int, error) {
644 configFlag := fl.String("config")
645 adapterFlag := fl.String("adapter")
646
647 // load all additional envs as soon as possible
648 err := handleEnvFileFlag(fl)
649 if err != nil {
650 return caddy.ExitCodeFailedStartup, err
651 }
652
653 // use default config and ensure a config file is specified
654 configFlag, err = configFileWithRespectToDefault(caddy.Log(), configFlag)
655 if err != nil {
656 return caddy.ExitCodeFailedStartup, err
657 }
658 if configFlag == "" {
659 return caddy.ExitCodeFailedStartup,
660 fmt.Errorf("input file required when there is no Caddyfile in current directory (use --config flag)")
661 }
662
663 input, _, _, err := LoadConfig(configFlag, adapterFlag)
664 if err != nil {
665 return caddy.ExitCodeFailedStartup, err
666 }
667 input = caddy.RemoveMetaFields(input)
668
669 var cfg *caddy.Config
670 err = caddy.StrictUnmarshalJSON(input, &cfg)
671 if err != nil {
672 return caddy.ExitCodeFailedStartup, fmt.Errorf("decoding config: %v", err)
673 }
674
675 err = caddy.Validate(cfg)
676 if err != nil {
677 return caddy.ExitCodeFailedStartup, err
678 }
679
680 fmt.Println("Valid configuration")
681
682 return caddy.ExitCodeSuccess, nil
683}
684
685func cmdFmt(fl Flags) (int, error) {
686 configFile := fl.Arg(0)

Callers

nothing calls this directly

Calls 6

handleEnvFileFlagFunction · 0.85
LoadConfigFunction · 0.85
PrintlnMethod · 0.80
ValidateMethod · 0.65
StringMethod · 0.45

Tested by

no test coverage detected