示例#1
0
文件: server.go 项目: oblank/forum
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))
}
示例#2
0
文件: init.go 项目: oblank/forum
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()
}
示例#3
0
文件: db.go 项目: oblank/forum
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()
}