You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
64 lines
1.7 KiB
Go
64 lines
1.7 KiB
Go
package utils
|
|
|
|
import (
|
|
"os"
|
|
"strconv"
|
|
"time"
|
|
)
|
|
|
|
// FormatTime formats time in a standard format
|
|
func FormatTime(t time.Time) string {
|
|
return t.Format(time.RFC3339)
|
|
}
|
|
|
|
// GetEnvOrDefault returns environment variable value or default if not set
|
|
func GetEnvOrDefault(key, defaultValue string) string {
|
|
if value := os.Getenv(key); value != "" {
|
|
return value
|
|
}
|
|
return defaultValue
|
|
}
|
|
|
|
// GetEnvOrDefaultInt returns environment variable as int or default if not set/invalid
|
|
func GetEnvOrDefaultInt(key string, defaultValue int) int {
|
|
if value := os.Getenv(key); value != "" {
|
|
if intValue, err := strconv.Atoi(value); err == nil {
|
|
return intValue
|
|
}
|
|
}
|
|
return defaultValue
|
|
}
|
|
|
|
// GetEnvOrDefaultBool returns environment variable as bool or default if not set/invalid
|
|
func GetEnvOrDefaultBool(key string, defaultValue bool) bool {
|
|
if value := os.Getenv(key); value != "" {
|
|
if boolValue, err := strconv.ParseBool(value); err == nil {
|
|
return boolValue
|
|
}
|
|
}
|
|
return defaultValue
|
|
}
|
|
|
|
// GetEnvOrDefaultDuration returns environment variable as duration or default if not set/invalid
|
|
func GetEnvOrDefaultDuration(key string, defaultValue time.Duration) time.Duration {
|
|
if value := os.Getenv(key); value != "" {
|
|
if duration, err := time.ParseDuration(value); err == nil {
|
|
return duration
|
|
}
|
|
}
|
|
return defaultValue
|
|
}
|
|
|
|
// MustGetEnv returns environment variable value or panics if not set
|
|
func MustGetEnv(key string) string {
|
|
if value := os.Getenv(key); value != "" {
|
|
return value
|
|
}
|
|
panic("Required environment variable not set: " + key)
|
|
}
|
|
|
|
// IsEnvSet checks if an environment variable is set (even if empty)
|
|
func IsEnvSet(key string) bool {
|
|
_, exists := os.LookupEnv(key)
|
|
return exists
|
|
} |