diff options
author | Hubert Hirtz <hubert@hirtz.pm> | 2021-04-30 10:17:16 +0200 |
---|---|---|
committer | Hubert Hirtz <hubert@hirtz.pm> | 2021-04-30 10:17:16 +0200 |
commit | e6df23b3f95433141ecacd0219230e7fa1034ef9 (patch) | |
tree | 3ab68eb42c29df4ab7c23093a514e5c0dcaf7d7c /config.go | |
parent | Use path.Join to construct config file path (diff) |
Better error reporting about configuration file
- Better errors in config.go
- Do not print useless timestamps in cmd/senpai/main.go
- Let os.UserConfigDir() and senpai.NewApp() call panic on error since
they both should not fail.
Diffstat (limited to 'config.go')
-rw-r--r-- | config.go | 10 |
1 files changed, 8 insertions, 2 deletions
@@ -2,6 +2,7 @@ package senpai import ( "errors" + "fmt" "io/ioutil" "gopkg.in/yaml.v2" @@ -28,6 +29,9 @@ type Config struct { func ParseConfig(buf []byte) (cfg Config, err error) { err = yaml.Unmarshal(buf, &cfg) + if err != nil { + return cfg, err + } if cfg.Addr == "" { return cfg, errors.New("addr is required") } @@ -54,10 +58,12 @@ func LoadConfigFile(filename string) (cfg Config, err error) { buf, err = ioutil.ReadFile(filename) if err != nil { - return + return cfg, fmt.Errorf("failed to read the file: %s", err) } cfg, err = ParseConfig(buf) - + if err != nil { + return cfg, fmt.Errorf("invalid content found in the file: %s", err) + } return } |