mirror of
https://github.com/spf13/viper
synced 2025-05-10 22:27:18 +00:00
Fix watch register.
This commit is contained in:
parent
e8a67492a6
commit
f04ffd899d
1 changed files with 10 additions and 8 deletions
18
viper.go
18
viper.go
|
@ -478,15 +478,11 @@ func (v *Viper) WatchConfig() {
|
||||||
(event.Has(fsnotify.Write) || event.Has(fsnotify.Create))) ||
|
(event.Has(fsnotify.Write) || event.Has(fsnotify.Create))) ||
|
||||||
(currentConfigFile != "" && currentConfigFile != realConfigFile) {
|
(currentConfigFile != "" && currentConfigFile != realConfigFile) {
|
||||||
realConfigFile = currentConfigFile
|
realConfigFile = currentConfigFile
|
||||||
tempViper := New()
|
err := v.ReadInConfig()
|
||||||
tempViper.AddConfigPath(realConfigFile)
|
|
||||||
err := tempViper.ReadInConfig()
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Printf("error reading config file: %v\n", err)
|
log.Printf("error reading config file: %v\n", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
v.updateRegisteredConfig(tempViper)
|
|
||||||
|
|
||||||
if v.onConfigChange != nil {
|
if v.onConfigChange != nil {
|
||||||
v.onConfigChange(event)
|
v.onConfigChange(event)
|
||||||
}
|
}
|
||||||
|
@ -1623,11 +1619,13 @@ func (v *Viper) ReadInConfig() error {
|
||||||
}
|
}
|
||||||
|
|
||||||
config := make(map[string]interface{})
|
config := make(map[string]interface{})
|
||||||
|
tempViper := New()
|
||||||
err = v.unmarshalReader(bytes.NewReader(file), config)
|
tempViper.configType = v.getConfigType()
|
||||||
|
err = tempViper.unmarshalReader(bytes.NewReader(file), config)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
v.updateRegisteredConfig(tempViper)
|
||||||
|
|
||||||
v.config = config
|
v.config = config
|
||||||
return nil
|
return nil
|
||||||
|
@ -1982,7 +1980,10 @@ func (v *Viper) getRemoteConfig(provider RemoteProvider) (map[string]interface{}
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
err = v.unmarshalReader(reader, v.kvstore)
|
tempViper := New()
|
||||||
|
tempViper.configType = v.getConfigType()
|
||||||
|
err = tempViper.unmarshalReader(reader, tempViper.kvstore)
|
||||||
|
v.updateRegisteredConfig(tempViper)
|
||||||
return v.kvstore, err
|
return v.kvstore, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1999,6 +2000,7 @@ func (v *Viper) watchKeyValueConfigOnChannel() error {
|
||||||
for {
|
for {
|
||||||
b := <-rc
|
b := <-rc
|
||||||
tempViper := New()
|
tempViper := New()
|
||||||
|
tempViper.configType = v.getConfigType()
|
||||||
reader := bytes.NewReader(b.Value)
|
reader := bytes.NewReader(b.Value)
|
||||||
tempViper.unmarshalReader(reader, tempViper.kvstore)
|
tempViper.unmarshalReader(reader, tempViper.kvstore)
|
||||||
v.updateRegisteredConfig(tempViper)
|
v.updateRegisteredConfig(tempViper)
|
||||||
|
|
Loading…
Add table
Reference in a new issue