mirror of
https://github.com/taigrr/jety.git
synced 2026-04-02 03:19:03 -07:00
add withEnvPrefix
This commit is contained in:
17
jety.go
17
jety.go
@@ -58,6 +58,23 @@ func NewConfigManager() *ConfigManager {
|
|||||||
return &cm
|
return &cm
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (c *ConfigManager) WithEnvPrefix(prefix string) *ConfigManager {
|
||||||
|
c.mutex.Lock()
|
||||||
|
defer c.mutex.Unlock()
|
||||||
|
c.envPrefix = prefix
|
||||||
|
envSet := os.Environ()
|
||||||
|
c.envConfig = make(map[string]ConfigMap)
|
||||||
|
for _, env := range envSet {
|
||||||
|
kv := strings.Split(env, "=")
|
||||||
|
if strings.HasPrefix(kv[0], prefix) {
|
||||||
|
withoutPrefix := strings.TrimPrefix(kv[0], prefix)
|
||||||
|
lower := strings.ToLower(withoutPrefix)
|
||||||
|
c.envConfig[lower] = ConfigMap{Key: withoutPrefix, Value: kv[1]}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return c
|
||||||
|
}
|
||||||
|
|
||||||
func (c *ConfigManager) ConfigFileUsed() string {
|
func (c *ConfigManager) ConfigFileUsed() string {
|
||||||
c.mutex.RLock()
|
c.mutex.RLock()
|
||||||
defer c.mutex.RUnlock()
|
defer c.mutex.RUnlock()
|
||||||
|
|||||||
Reference in New Issue
Block a user