mirror of https://github.com/spf13/viper.git
use v.getConfigType to determine config type in WriteConfig
This commit is contained in:
parent
1a0c4a370c
commit
9656971389
13
viper.go
13
viper.go
|
@ -1235,14 +1235,11 @@ func (v *Viper) SafeWriteConfigAs(filename string) error {
|
||||||
func writeConfig(filename string, force bool) error { return v.writeConfig(filename, force) }
|
func writeConfig(filename string, force bool) error { return v.writeConfig(filename, force) }
|
||||||
func (v *Viper) writeConfig(filename string, force bool) error {
|
func (v *Viper) writeConfig(filename string, force bool) error {
|
||||||
jww.INFO.Println("Attempting to write configuration to file.")
|
jww.INFO.Println("Attempting to write configuration to file.")
|
||||||
ext := filepath.Ext(filename)
|
|
||||||
if len(ext) <= 1 {
|
if !stringInSlice(v.getConfigType(), SupportedExts) {
|
||||||
return fmt.Errorf("Filename: %s requires valid extension.", filename)
|
return UnsupportedConfigError(v.getConfigType())
|
||||||
}
|
|
||||||
configType := ext[1:]
|
|
||||||
if !stringInSlice(configType, SupportedExts) {
|
|
||||||
return UnsupportedConfigError(configType)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if v.config == nil {
|
if v.config == nil {
|
||||||
v.config = make(map[string]interface{})
|
v.config = make(map[string]interface{})
|
||||||
}
|
}
|
||||||
|
@ -1260,7 +1257,7 @@ func (v *Viper) writeConfig(filename string, force bool) error {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
return v.marshalWriter(f, configType)
|
return v.marshalWriter(f, v.getConfigType())
|
||||||
}
|
}
|
||||||
|
|
||||||
// Unmarshal a Reader into a map.
|
// Unmarshal a Reader into a map.
|
||||||
|
|
Loading…
Reference in New Issue