package env import ( "log" "net/url" "os" ) func GuaranteeEnv(key string) (variable string) { variable, ok := os.LookupEnv(key) if !ok || variable == "" { log.Fatalln("Missing environment variable:", key) } return } var JwtSecret = GuaranteeEnv("LISHWIST_JWT_SECRET") var HostRootUrl = GuaranteeEnv("LISHWIST_HOST_ROOT_URL") var HostPort = os.Getenv("LISHWIST_HOST_PORT") var ServePort = GuaranteeEnv("LISHWIST_SERVE_PORT") var HostUrl = func() *url.URL { rawUrl := HostRootUrl if HostPort != "" { rawUrl += ":" + HostPort } u, err := url.Parse(rawUrl) if err != nil { log.Fatalln("Couldn't parse host url:", err) } return u }()