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
659 B
Go
38 lines
659 B
Go
package main
|
|
|
|
import (
|
|
"log"
|
|
"os"
|
|
|
|
"github.com/joho/godotenv"
|
|
)
|
|
|
|
var Config struct {
|
|
Mode string
|
|
Host string
|
|
BaseURL string
|
|
}
|
|
|
|
func loadEnv(key string, defaultValue ...string) string {
|
|
env := os.Getenv(key)
|
|
|
|
if len(defaultValue) > 0 && env == "" {
|
|
env = defaultValue[0]
|
|
}
|
|
|
|
log.Printf("Environment variable %s = %q", key, env)
|
|
return env
|
|
}
|
|
|
|
func init() {
|
|
// Setup logger
|
|
log.SetFlags(log.Lshortfile | log.Ltime | log.Ldate)
|
|
|
|
// Load Config
|
|
godotenv.Load()
|
|
|
|
Config.Mode = loadEnv(os.Getenv("MODE"), "development")
|
|
Config.Host = loadEnv(os.Getenv("HOST"), ":4000")
|
|
Config.BaseURL = loadEnv(os.Getenv("HOST"), "http://localhost:4000")
|
|
}
|