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.
website/config.go

48 lines
873 B
Go

package main
import (
"log"
"os"
"strings"
"github.com/joho/godotenv"
)
type Config struct {
Mode string
Host string
GitUrl string
ForumUrl string
}
func stringOrDefault(value, defaultValue string) string {
if len(strings.TrimSpace(value)) == 0 {
return defaultValue
}
return value
}
func LoadConfig() *Config {
godotenv.Load()
log.SetFlags(log.Ldate | log.Ltime | log.Lshortfile)
Mode := stringOrDefault(os.Getenv("MODE"), "production")
log.Printf("MODE = %v", Mode)
Host := stringOrDefault(os.Getenv("HOST"), "localhost:8080")
log.Printf("HOST = %v", Host)
GitUrl := stringOrDefault(os.Getenv("GIT_URL"), "git.phc.dm.unipi.it")
log.Printf("GIT_URL = %v", GitUrl)
ForumUrl := stringOrDefault(os.Getenv("FORUM_URL"), "forum.phc.dm.unipi.it")
log.Printf("FORUM_URL = %v", ForumUrl)
return &Config{
Mode, Host, GitUrl, ForumUrl,
}
}