Make sure we always load our default config values

This commit is contained in:
Gary Kramlich
2021-11-19 16:31:19 -06:00
parent 09911a11e3
commit 5a11f49dbe
4 changed files with 96 additions and 6 deletions

View File

@@ -12,6 +12,29 @@ type Config struct {
Bridge bridge `yaml:"bridge"`
}
func (cfg *Config) setDefaults() error {
if err := cfg.Appservice.setDefaults(); err != nil {
return err
}
if err := cfg.Bridge.setDefaults(); err != nil {
return err
}
return nil
}
func (cfg *Config) UnmarshalYAML(unmarshal func(interface{}) error) error {
type rawConfig Config
raw := rawConfig{}
if err := unmarshal(&raw); err != nil {
return err
}
return cfg.setDefaults()
}
func FromBytes(data []byte) (*Config, error) {
cfg := Config{}
@@ -19,6 +42,8 @@ func FromBytes(data []byte) (*Config, error) {
return nil, err
}
cfg.setDefaults()
return &cfg, nil
}