42 lines
903 B
Go
42 lines
903 B
Go
|
|
package config
|
||
|
|
|
||
|
|
import (
|
||
|
|
log "github.com/sirupsen/logrus"
|
||
|
|
"os"
|
||
|
|
"strconv"
|
||
|
|
"time"
|
||
|
|
)
|
||
|
|
|
||
|
|
func getEnv(key, fallback string) string {
|
||
|
|
if value, ok := os.LookupEnv(key); ok {
|
||
|
|
return value
|
||
|
|
}
|
||
|
|
return fallback
|
||
|
|
}
|
||
|
|
|
||
|
|
func getEnvSeconds(key string, fallback int) time.Duration {
|
||
|
|
if value, ok := os.LookupEnv(key); ok {
|
||
|
|
num, err := strconv.Atoi(value)
|
||
|
|
if err != nil {
|
||
|
|
log.Printf("Error converting %v to int, using default value - 60 seconds", key)
|
||
|
|
return time.Duration(60) * time.Second
|
||
|
|
}
|
||
|
|
|
||
|
|
return time.Duration(num) * time.Second
|
||
|
|
}
|
||
|
|
return time.Duration(fallback) * time.Second
|
||
|
|
}
|
||
|
|
|
||
|
|
func getEnvUint(key string, fallback uint) uint {
|
||
|
|
var def uint = 100
|
||
|
|
if value, ok := os.LookupEnv(key); ok {
|
||
|
|
num, err := strconv.ParseUint(value, 10, 64)
|
||
|
|
if err != nil {
|
||
|
|
log.Printf("Error converting %v to uint, using default value - %v", key, def)
|
||
|
|
return def
|
||
|
|
}
|
||
|
|
return uint(num)
|
||
|
|
}
|
||
|
|
return fallback
|
||
|
|
}
|