Conditions | 4 |
Total Lines | 22 |
Code Lines | 15 |
Lines | 0 |
Ratio | 0 % |
Changes | 0 |
1 | package config |
||
66 | func UseConfig(filename string) (*Config, error) { |
||
67 | v := viper.New() |
||
68 | |||
69 | v.SetConfigName(filename) |
||
70 | v.AddConfigPath(".") |
||
71 | v.AutomaticEnv() |
||
72 | if err := v.ReadInConfig(); err != nil { |
||
73 | var configFileNotFoundError viper.ConfigFileNotFoundError |
||
74 | if errors.As(err, &configFileNotFoundError) { |
||
75 | return nil, errors.New("config file not found") |
||
76 | } |
||
77 | return nil, err |
||
78 | } |
||
79 | |||
80 | var c Config |
||
81 | |||
82 | err := v.Unmarshal(&c) |
||
83 | if err != nil { |
||
84 | return nil, err |
||
85 | } |
||
86 | |||
87 | return &c, nil |
||
88 | } |
||
89 |