Initial cloud-services repo - gateway service + pkg modules
This commit is contained in:
64
pkg/utils/envtool/env.go
Normal file
64
pkg/utils/envtool/env.go
Normal file
@@ -0,0 +1,64 @@
|
||||
package envtool
|
||||
|
||||
import (
|
||||
"os"
|
||||
"strconv"
|
||||
"time"
|
||||
)
|
||||
|
||||
// GetEnv return enviroment variable or default value if not set
|
||||
func GetEnv(name string, defaultValue string) string {
|
||||
value, ok := os.LookupEnv(name)
|
||||
if ok && len(value) > 0 {
|
||||
return value
|
||||
}
|
||||
return defaultValue
|
||||
}
|
||||
|
||||
// GetEnvInt returns environment variable or default value if not set
|
||||
func GetEnvInt(name string, defaultValue int) int {
|
||||
value, ok := os.LookupEnv(name)
|
||||
if ok && len(value) > 0 {
|
||||
i, err := strconv.Atoi(value)
|
||||
if err == nil {
|
||||
return i
|
||||
}
|
||||
}
|
||||
return defaultValue
|
||||
}
|
||||
|
||||
// GetEnvInt returns environment variable or default value if not set
|
||||
func GetEnvInt64(name string, defaultValue int64) int64 {
|
||||
value, ok := os.LookupEnv(name)
|
||||
if ok && len(value) > 0 {
|
||||
i, err := strconv.ParseInt(value, 10, 0)
|
||||
if err == nil {
|
||||
return i
|
||||
}
|
||||
}
|
||||
return defaultValue
|
||||
}
|
||||
|
||||
// GetEnvBool returns environment variable or default value if not set
|
||||
func GetEnvBool(name string, defaultValue bool) bool {
|
||||
value, ok := os.LookupEnv(name)
|
||||
if !ok {
|
||||
return defaultValue
|
||||
}
|
||||
val, err := strconv.ParseBool(value)
|
||||
if err != nil {
|
||||
return defaultValue
|
||||
}
|
||||
return val
|
||||
}
|
||||
|
||||
func GetEnvDuration(name string, defaultValue time.Duration) time.Duration {
|
||||
value, ok := os.LookupEnv(name)
|
||||
if ok && len(value) > 0 {
|
||||
d, err := time.ParseDuration(value)
|
||||
if err == nil {
|
||||
return d
|
||||
}
|
||||
}
|
||||
return defaultValue
|
||||
}
|
||||
Reference in New Issue
Block a user