cleanenv
cleanenv copied to clipboard
read config from io.Reader
I want to use embed config files. But ReadConfig()
only use file path.
If I can use io.Reader
for parseFile()
like below, it would be nice. What do you think?
Or, If there is any way to use embed files, please let me know.
func ReadConfigFromReader(r io.Reader, cfg interface{}) {
err := parseFile(r, cfg)
if err != nil {
return err
}
return readEnvVars(cfg, false)
}
func ReadConfig(path string, cfg interface{}) {
f, err := os.OpenFile(path, os.O_RDONLY|os.O_SYNC, 0)
if err != nil {
return err
}
defer f.Close()
err := parseFile(f, cfg)
if err != nil {
return err
}
return readEnvVars(cfg, false)
}