From f4e46d41fc09a075c4efdac4c6bf012f2f1a1e82 Mon Sep 17 00:00:00 2001 From: Jan Semmelink <jan@uafrica.com> Date: Wed, 3 Nov 2021 10:36:11 +0200 Subject: [PATCH] Update config --- config/struct.go | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/config/struct.go b/config/struct.go index 90d0b30..f52c44b 100644 --- a/config/struct.go +++ b/config/struct.go @@ -24,7 +24,15 @@ func Load(prefix string, configPtr interface{}) error { return errors.Errorf("%T is not &struct", configPtr) } v := reflect.ValueOf(configPtr) - return load(prefix, t.Elem(), v.Elem()) + if err := load(prefix, t.Elem(), v.Elem()); err != nil { + return errors.Wrapf(err, "failed to load config with prefix %s", prefix) + } + if validator, ok := configPtr.(Validator); ok { + if err := validator.Validate(); err != nil { + return errors.Wrapf(err, "invalid config with prefix %s", prefix) + } + } + return nil } type nameValue struct { -- GitLab