59 lines
1.1 KiB
Go
59 lines
1.1 KiB
Go
package setting
|
|
|
|
import (
|
|
"gopkg.in/ini.v1"
|
|
"log"
|
|
"time"
|
|
)
|
|
|
|
var (
|
|
Cfg *ini.File
|
|
|
|
RunMode string
|
|
|
|
HTTPPort int
|
|
ReadTimeout time.Duration
|
|
WriteTimeout time.Duration
|
|
|
|
PageSize int
|
|
JwtSecret string
|
|
)
|
|
|
|
func init() {
|
|
var err error
|
|
Cfg, err = ini.Load("conf/app.ini")
|
|
if err != nil {
|
|
log.Fatal("Fail to parse 'conf/app.ini': %v", err)
|
|
}
|
|
|
|
LoadBase()
|
|
LoadServer()
|
|
LoadApp()
|
|
}
|
|
|
|
func LoadBase() {
|
|
RunMode = Cfg.Section("").Key("RUN_MODE").MustString("debug")
|
|
}
|
|
|
|
func LoadServer() {
|
|
sec, err := Cfg.GetSection("server")
|
|
if err != nil {
|
|
log.Fatalf("Fail to get section 'server': %v", err)
|
|
}
|
|
|
|
RunMode = Cfg.Section("").Key("RUN_MODE").MustString("debug")
|
|
|
|
HTTPPort = sec.Key("HTTP_PORT").MustInt(8000)
|
|
ReadTimeout = time.Duration(sec.Key("READ_TIMEOUT").MustInt(60)) * time.Second
|
|
WriteTimeout = time.Duration(sec.Key("WRITE_TIMEOUT").MustInt(60)) * time.Second
|
|
}
|
|
|
|
func LoadApp() {
|
|
sec, err := Cfg.GetSection("app")
|
|
if err != nil {
|
|
log.Fatalf("Fail to get section 'app': %v", err)
|
|
}
|
|
|
|
JwtSecret = sec.Key("JWT_SECRET").MustString("!@)*#)!@U#@*!@!)")
|
|
PageSize = sec.Key("PAGE_SIZE").MustInt(10)
|
|
} |