func Server() { runtime.GOMAXPROCS(runtime.NumCPU()) if _, err := database.InitDb(); err != nil { panic(err) } app := gin.New() app.Use(func(c *gin.Context) { c.Set(config.SecretKey, config.GetSecret()) c.Next() }) if config.GetEnv() != config.EnvProduction { app.Use(gin.Logger()) app.Use(gin.Recovery()) } else { app.Use(middleware.Recovery()) } app.Use(middleware.ErrorHandler()) app.Static("/public", "./public") //Set up api v1 setupApiV1(app) env := config.GetEnvValue() app.Run(env.Server.Host + ":" + strconv.Itoa(env.Server.Port)) }
func init() { config.Loads("../config/config.yml") config.SetEnv(config.EnvTesting) env := config.GetEnvValue() server = getConnectString(env.Server.Host, env.Server.Port) userApi = server + "/v1/user/" authApi = server + "/v1/auth/" errorApi = server + "/v1/errors/" database.InitDb() }
func InitDb() (*mgo.Session, error) { env := config.GetEnvValue() mongoDBDialInfo := &mgo.DialInfo{ Addrs: []string{env.Database.Host}, Timeout: 60 * time.Second, Database: env.Database.Name, Username: env.Database.User, Password: env.Database.Password, } if mongoSession != nil { panic("mongodb is connected!") } var err error if mongoSession, err = mgo.DialWithInfo(mongoDBDialInfo); err != nil { return mongoSession, err } dataBase = env.Database.Name return mongoSession, Index() }