This commit is contained in:
Guiheux Steven 2017-07-23 04:54:31 +00:00 committed by GitHub
commit a784b252c8

View file

@ -33,7 +33,7 @@ func (rc remoteConfigProvider) Watch(rp viper.RemoteProvider) (io.Reader, error)
if err != nil {
return nil, err
}
resp,err := cm.Get(rp.Path())
resp, err := cm.Get(rp.Path())
if err != nil {
return nil, err
}
@ -47,13 +47,13 @@ func (rc remoteConfigProvider) WatchChannel(rp viper.RemoteProvider) (<-chan *vi
}
quit := make(chan bool)
quitwc := make(chan bool)
viperResponsCh := make(chan *viper.RemoteResponse)
viperResponsCh := make(chan *viper.RemoteResponse)
cryptoResponseCh := cm.Watch(rp.Path(), quit)
// need this function to convert the Channel response form crypt.Response to viper.Response
go func(cr <-chan *crypt.Response,vr chan<- *viper.RemoteResponse, quitwc <-chan bool, quit chan<- bool) {
go func(cr <-chan *crypt.Response, vr chan<- *viper.RemoteResponse, quitwc <-chan bool, quit chan<- bool) {
for {
select {
case <- quitwc:
case <-quitwc:
quit <- true
return
case resp := <-cr:
@ -65,13 +65,12 @@ func (rc remoteConfigProvider) WatchChannel(rp viper.RemoteProvider) (<-chan *vi
}
}
}(cryptoResponseCh,viperResponsCh,quitwc,quit)
}(cryptoResponseCh, viperResponsCh, quitwc, quit)
return viperResponsCh,quitwc
return viperResponsCh, quitwc
}
func getConfigManager(rp viper.RemoteProvider) (crypt.ConfigManager, error) {
var cm crypt.ConfigManager