From 1d2bf65621894a7012eff9afdad79b2c2d12bb3d Mon Sep 17 00:00:00 2001 From: Tai Groot Date: Fri, 3 Nov 2023 01:29:35 -0700 Subject: [PATCH] add env prefix to getters --- getters.go | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/getters.go b/getters.go index 3e5ef98..a71b149 100644 --- a/getters.go +++ b/getters.go @@ -7,12 +7,25 @@ import ( "time" ) +func (c *ConfigManager) Get(key string) any { + c.mutex.RLock() + defer c.mutex.RUnlock() + v, ok := c.combinedConfig[strings.ToLower(key)] + if !ok { + v, ok = c.envConfig[strings.ToLower(c.envPrefix+key)] + if !ok { + return nil + } + } + return v.Value +} + func (c *ConfigManager) GetBool(key string) bool { c.mutex.RLock() defer c.mutex.RUnlock() v, ok := c.combinedConfig[strings.ToLower(key)] if !ok { - v, ok = c.envConfig[strings.ToLower(key)] + v, ok = c.envConfig[strings.ToLower(c.envPrefix+key)] if !ok { return false } @@ -53,7 +66,7 @@ func (c *ConfigManager) GetDuration(key string) time.Duration { defer c.mutex.RUnlock() v, ok := c.combinedConfig[strings.ToLower(key)] if !ok { - v, ok = c.envConfig[strings.ToLower(key)] + v, ok = c.envConfig[strings.ToLower(c.envPrefix+key)] if !ok { return 0 } @@ -87,7 +100,7 @@ func (c *ConfigManager) GetString(key string) string { defer c.mutex.RUnlock() v, ok := c.combinedConfig[strings.ToLower(key)] if !ok { - v, ok = c.envConfig[strings.ToLower(key)] + v, ok = c.envConfig[strings.ToLower(c.envPrefix+key)] if !ok { return "" } @@ -106,7 +119,7 @@ func (c *ConfigManager) GetStringMap(key string) map[string]any { defer c.mutex.RUnlock() v, ok := c.combinedConfig[strings.ToLower(key)] if !ok { - v, ok = c.envConfig[strings.ToLower(key)] + v, ok = c.envConfig[strings.ToLower(c.envPrefix+key)] if !ok { return nil } @@ -124,7 +137,7 @@ func (c *ConfigManager) GetStringSlice(key string) []string { defer c.mutex.RUnlock() v, ok := c.combinedConfig[strings.ToLower(key)] if !ok { - v, ok = c.envConfig[strings.ToLower(key)] + v, ok = c.envConfig[strings.ToLower(c.envPrefix+key)] if !ok { return nil } @@ -142,7 +155,7 @@ func (c *ConfigManager) GetInt(key string) int { defer c.mutex.RUnlock() v, ok := c.combinedConfig[strings.ToLower(key)] if !ok { - v, ok = c.envConfig[strings.ToLower(key)] + v, ok = c.envConfig[strings.ToLower(c.envPrefix+key)] if !ok { return 0 } @@ -172,7 +185,7 @@ func (c *ConfigManager) GetIntSlice(key string) []int { defer c.mutex.RUnlock() v, ok := c.combinedConfig[strings.ToLower(key)] if !ok { - v, ok = c.envConfig[strings.ToLower(key)] + v, ok = c.envConfig[strings.ToLower(c.envPrefix+key)] if !ok { return nil }