1 Commits

Author SHA1 Message Date
64d37d936f add check for empty config file 2023-11-03 04:40:53 -07:00

10
jety.go
View File

@@ -41,7 +41,10 @@ type (
} }
) )
var ErrConfigFileNotFound = errors.New("config File Not Found") var (
ErrConfigFileNotFound = errors.New("config file not found")
ErrConfigFileEmpty = errors.New("config file is empty")
)
func NewConfigManager() *ConfigManager { func NewConfigManager() *ConfigManager {
cm := ConfigManager{} cm := ConfigManager{}
@@ -181,9 +184,12 @@ func (c *ConfigManager) ReadInConfig() error {
func readFile(filename string, fileType configType) (map[string]any, error) { func readFile(filename string, fileType configType) (map[string]any, error) {
fileData := make(map[string]any) fileData := make(map[string]any)
if _, err := os.Stat(filename); os.IsNotExist(err) { if d, err := os.Stat(filename); os.IsNotExist(err) {
return nil, ErrConfigFileNotFound return nil, ErrConfigFileNotFound
} else if d.Size() == 0 {
return nil, ErrConfigFileEmpty
} }
switch fileType { switch fileType {
case ConfigTypeTOML: case ConfigTypeTOML:
_, err := toml.DecodeFile(filename, &fileData) _, err := toml.DecodeFile(filename, &fileData)