From 59f328b804176a7afc25b691ac15f5f36b063ed8 Mon Sep 17 00:00:00 2001 From: 9seconds Date: Wed, 10 Mar 2021 12:29:13 +0300 Subject: [PATCH] Validate config --- config.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/config.go b/config.go index 7734886..51f43fe 100644 --- a/config.go +++ b/config.go @@ -15,6 +15,14 @@ type config struct { Secret mtglib.Secret `json:"secret"` } +func (c *config) Validate() error { + if len(c.Secret.Key) == 0 || c.Secret.Host == "" { + return fmt.Errorf("incorrect secret %s", c.Secret.String()) + } + + return nil +} + type configRaw struct { Debug bool `toml:"debug" json:"debug"` Secret string `toml:"secret" json:"secret"` @@ -79,5 +87,9 @@ func parseConfig(reader io.Reader) (*config, error) { return nil, fmt.Errorf("cannot parse final config: %w", err) } + if err := conf.Validate(); err != nil { + return nil, fmt.Errorf("cannot validate config: %w", err) + } + return conf, nil }