aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--caddy.go2
-rw-r--r--cmd/commandfuncs.go4
-rw-r--r--context.go2
-rw-r--r--modules.go4
4 files changed, 6 insertions, 6 deletions
diff --git a/caddy.go b/caddy.go
index 5d0152a76..84cfc11cf 100644
--- a/caddy.go
+++ b/caddy.go
@@ -314,7 +314,7 @@ func unsyncedDecodeAndRun(cfgJSON []byte, allowPersist bool) error {
strippedCfgJSON := RemoveMetaFields(cfgJSON)
var newCfg *Config
- err := strictUnmarshalJSON(strippedCfgJSON, &newCfg)
+ err := StrictUnmarshalJSON(strippedCfgJSON, &newCfg)
if err != nil {
return err
}
diff --git a/cmd/commandfuncs.go b/cmd/commandfuncs.go
index 62afae2bb..cc5666bb1 100644
--- a/cmd/commandfuncs.go
+++ b/cmd/commandfuncs.go
@@ -490,7 +490,7 @@ func cmdAdaptConfig(fl Flags) (int, error) {
// validate output if requested
if adaptCmdValidateFlag {
var cfg *caddy.Config
- err = json.Unmarshal(adaptedConfig, &cfg)
+ err = caddy.StrictUnmarshalJSON(adaptedConfig, &cfg)
if err != nil {
return caddy.ExitCodeFailedStartup, fmt.Errorf("decoding config: %v", err)
}
@@ -523,7 +523,7 @@ func cmdValidateConfig(fl Flags) (int, error) {
input = caddy.RemoveMetaFields(input)
var cfg *caddy.Config
- err = json.Unmarshal(input, &cfg)
+ err = caddy.StrictUnmarshalJSON(input, &cfg)
if err != nil {
return caddy.ExitCodeFailedStartup, fmt.Errorf("decoding config: %v", err)
}
diff --git a/context.go b/context.go
index 330bfa6f5..c585aa55d 100644
--- a/context.go
+++ b/context.go
@@ -326,7 +326,7 @@ func (ctx Context) LoadModuleByID(id string, rawMsg json.RawMessage) (any, error
// fill in its config only if there is a config to fill in
if len(rawMsg) > 0 {
- err := strictUnmarshalJSON(rawMsg, &val)
+ err := StrictUnmarshalJSON(rawMsg, &val)
if err != nil {
return nil, fmt.Errorf("decoding module config: %s: %v", modInfo, err)
}
diff --git a/modules.go b/modules.go
index e83bc747e..470c25e37 100644
--- a/modules.go
+++ b/modules.go
@@ -333,11 +333,11 @@ func ParseStructTag(tag string) (map[string]string, error) {
return results, nil
}
-// strictUnmarshalJSON is like json.Unmarshal but returns an error
+// StrictUnmarshalJSON is like json.Unmarshal but returns an error
// if any of the fields are unrecognized. Useful when decoding
// module configurations, where you want to be more sure they're
// correct.
-func strictUnmarshalJSON(data []byte, v any) error {
+func StrictUnmarshalJSON(data []byte, v any) error {
dec := json.NewDecoder(bytes.NewReader(data))
dec.DisallowUnknownFields()
return dec.Decode(v)