better locks
This commit is contained in:
@@ -52,6 +52,10 @@ type ViperProxy struct {
|
|||||||
sync.Mutex
|
sync.Mutex
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var (
|
||||||
|
vp = &ViperProxy{}
|
||||||
|
)
|
||||||
|
|
||||||
func (vp *ViperProxy) SetDefault(key string, value interface{}) {
|
func (vp *ViperProxy) SetDefault(key string, value interface{}) {
|
||||||
vp.Lock()
|
vp.Lock()
|
||||||
defer vp.Unlock()
|
defer vp.Unlock()
|
||||||
@@ -83,10 +87,15 @@ func (vp *ViperProxy) GetStringSlice(key string) []string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func GetViper() *ViperProxy {
|
func GetViper() *ViperProxy {
|
||||||
v := &ViperProxy{}
|
vp.Lock()
|
||||||
v.Viper = viper.GetViper()
|
defer vp.Unlock()
|
||||||
v.AutomaticEnv()
|
|
||||||
v.SetEnvPrefix("weed")
|
if vp.Viper == nil {
|
||||||
v.SetEnvKeyReplacer(strings.NewReplacer(".", "_"))
|
vp.Viper = viper.GetViper()
|
||||||
return v
|
vp.AutomaticEnv()
|
||||||
|
vp.SetEnvPrefix("weed")
|
||||||
|
vp.SetEnvKeyReplacer(strings.NewReplacer(".", "_"))
|
||||||
|
}
|
||||||
|
|
||||||
|
return vp
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user