lishwist/env/env.go

31 lines
598 B
Go

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 HostDomain = GuaranteeEnv("LISHWIST_DOMAIN")
var HostPort = os.Getenv("LISHWIST_PORT")
var HostUrl = func() *url.URL {
rawUrl := "http://" + HostDomain
if HostPort != "" {
rawUrl += ":" + HostPort
}
u, err := url.Parse(rawUrl)
if err != nil {
log.Fatalln("Couldn't parse host url:", err)
}
return u
}()