32 lines
660 B
Go
32 lines
660 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_HOST_DOMAIN")
|
|
var HostPort = os.Getenv("LISHWIST_HOST_PORT")
|
|
var ServePort = GuaranteeEnv("LISHWIST_SERVE_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
|
|
}()
|