package utils import ( "os" "strconv" "time" ) // GetEnv retrieves environment variable with fallback func GetEnv(key, defaultValue string) string { if value := os.Getenv(key); value != "" { return value } return defaultValue } // GetEnvAsInt retrieves environment variable as integer with fallback func GetEnvAsInt(key string, defaultValue int) int { valueStr := GetEnv(key, "") if value, err := strconv.Atoi(valueStr); err == nil { return value } return defaultValue } // GetEnvAsBool retrieves environment variable as boolean with fallback func GetEnvAsBool(key string, defaultValue bool) bool { valueStr := GetEnv(key, "") if value, err := strconv.ParseBool(valueStr); err == nil { return value } return defaultValue } // GetEnvAsDuration retrieves environment variable as duration with fallback func GetEnvAsDuration(key string, defaultValue time.Duration) time.Duration { valueStr := GetEnv(key, "") if value, err := time.ParseDuration(valueStr); err == nil { return value } return defaultValue }