From 7e762ff2aaeb5102f0df4214cefdcc9ac702605f Mon Sep 17 00:00:00 2001 From: Xevion Date: Sun, 24 Dec 2023 22:07:44 -0600 Subject: [PATCH] Fix private URL var name, add helper for retrieving various environment variables --- helpers.go | 10 ++++++++++ main.go | 16 ++++++---------- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/helpers.go b/helpers.go index 9d80aa4..dcb97cb 100644 --- a/helpers.go +++ b/helpers.go @@ -5,6 +5,7 @@ import ( "io" "math/rand" "net/http" + "os" "runtime" "strconv" "strings" @@ -177,3 +178,12 @@ func (nt NaiveTime) String() string { } return fmt.Sprintf("%d:%02d%s", hour, nt.Minutes, meridiem) } + +func GetFirstEnv(key ...string) string { + for _, k := range key { + if v := os.Getenv(k); v != "" { + return v + } + } + return "" +} diff --git a/main.go b/main.go index c2863b3..d043a33 100644 --- a/main.go +++ b/main.go @@ -59,12 +59,9 @@ func init() { ctx = context.Background() // Try to grab the environment variable, or default to development - env := os.Getenv("ENVIRONMENT") + env := GetFirstEnv("ENVIRONMENT", "RAILWAY_ENVIRONMENT") if env == "" { - env = os.Getenv("RAILWAY_ENVIRONMENT") - if env == "" { - env = "development" - } + env = "development" } // Use the custom console writer if we're in development @@ -85,13 +82,12 @@ func init() { func main() { // Setup redis - redisUrl := os.Getenv("REDIS_URL") + redisUrl := GetFirstEnv("REDIS_URL", "REDIS_PRIVATE_URL") if redisUrl == "" { - redisUrl = os.Getenv("PRIVATE_REDIS_URL") - if redisUrl == "" { - log.Fatal().Msg("REDIS_URL is not set (public or private)") - } + log.Fatal().Msg("REDIS_URL/REDIS_PRIVATE_URL not set") } + + // Parse URL and create client options, err := redis.ParseURL(redisUrl) if err != nil { log.Fatal().Err(err).Msg("Cannot parse redis url")