FIX ParseConf returned invalid conf

This commit is contained in:
boyska 2018-01-05 22:23:52 +01:00
parent f83cc1b1ef
commit 5d6db07758
2 changed files with 17 additions and 6 deletions

View file

@ -17,7 +17,7 @@ func main() {
addr := flag.String("addr", "localhost:8000", "Listen address") addr := flag.String("addr", "localhost:8000", "Listen address")
flag.Parse() flag.Parse()
cfg, err := megauploader.ParseConf(*cfgfile) cfg, err := megauploader.ParseConfFile(*cfgfile)
if err != nil { if err != nil {
fmt.Fprintln(os.Stderr, err) fmt.Fprintln(os.Stderr, err)
os.Exit(1) os.Exit(1)

View file

@ -9,8 +9,8 @@ import (
yaml "gopkg.in/yaml.v2" yaml "gopkg.in/yaml.v2"
) )
// ParseConf will read and load a config file // ParseConfFile will read and load a config file
func ParseConf(filename string) (Config, error) { func ParseConfFile(filename string) (Config, error) {
buf, err := os.Open(filename) buf, err := os.Open(filename)
if err != nil { if err != nil {
return Config{}, errors.Wrap(err, "Error opening config file") return Config{}, errors.Wrap(err, "Error opening config file")
@ -20,7 +20,18 @@ func ParseConf(filename string) (Config, error) {
if err != nil { if err != nil {
return Config{}, errors.Wrap(err, "Error reading config file") return Config{}, errors.Wrap(err, "Error reading config file")
} }
var c Config return ParseConf(content)
err = yaml.UnmarshalStrict(content, &c) }
return c, err
// ParseConf will parse configuration content
func ParseConf(content []byte) (Config, error) {
var c Config
err := yaml.UnmarshalStrict(content, &c)
if err != nil {
return c, err
}
if c.UserHome == nil {
c.UserHome = new(UserHome)
}
return c, nil
} }