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.

38 lines
632 B
Go

package config
import (
"log"
"os"
"strings"
"github.com/joho/godotenv"
)
var Mode string
var Host string
var Url string
var Email string
func loadEnv(target *string, name, defaultValue string) {
value := os.Getenv(name)
if len(strings.TrimSpace(value)) == 0 {
*target = defaultValue
} else {
*target = value
}
log.Printf("%s = %v", name, *target)
}
func Load() {
godotenv.Load()
log.SetFlags(log.Ldate | log.Ltime | log.Lshortfile)
loadEnv(&Mode, "MODE", "production")
loadEnv(&Host, "HOST", "localhost:4000")
loadEnv(&Url, "URL", "http://localhost:3000")
loadEnv(&Email, "EMAIL", "mail@example.org")
}