settings.go 654 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. package settings
  2. import (
  3. "gopkg.in/ini.v1"
  4. "log"
  5. )
  6. var Conf *ini.File
  7. type Server struct {
  8. HttpPort string
  9. RunMode string
  10. WebSocketToken string
  11. JwtSecret string
  12. HTTPChallengePort string
  13. Email string
  14. }
  15. var ServerSettings = &Server{}
  16. func Init(confPath string) {
  17. var err error
  18. Conf, err = ini.Load(confPath)
  19. if err != nil {
  20. log.Fatalf("setting.Setup, fail to parse '%s': %v", confPath, err)
  21. }
  22. mapTo("server", ServerSettings)
  23. }
  24. func mapTo(section string, v interface{}) {
  25. err := Conf.Section(section).MapTo(v)
  26. if err != nil {
  27. log.Fatalf("Cfg.MapTo %s err: %v", section, err)
  28. }
  29. }