コード例 #1
0
ファイル: db.go プロジェクト: smtc/justTalk
// 建立数据库连接
func opendb(dbname, dbuser, dbpass string) (*gorm.DB, error) {
	var (
		dbtype, dsn string
		db          gorm.DB
		err         error
	)

	if dbuser == "" {
		dbuser = config.GetStringDefault("dbuser", "root")
	}
	if dbpass == "" {
		dbpass = config.GetStringDefault("dbpass", "root")
	}

	dbtype = strings.ToLower(config.GetStringDefault("dbtype", "mysql"))
	if dbtype == "mysql" {
		dsn = fmt.Sprintf("%s:%s@%s(%s:%d)/%s?charset=utf8&parseTime=True&loc=Local",
			dbuser,
			dbpass,
			config.GetStringDefault("dbproto", "tcp"),
			config.GetStringDefault("dbhost", "localhost"),
			config.GetIntDefault("dbport", 3306),
			dbname,
		)
	} else if dbtype == "pg" || dbtype == "postgres" || dbtype == "postgresql" {
		dbtype = "postgres"
		dsn = fmt.Sprintf("user=%s password=%s host=%s port=%d dbname=%s sslmode=disable",
			dbuser,
			dbpass,
			config.GetStringDefault("dbhost", "127.0.0.1"),
			config.GetIntDefault("dbport", 5432),
			dbname)
	}

	db, err = gorm.Open(dbtype, dsn)
	if err != nil {
		log.Println(err.Error())
		return &db, err
	}

	err = db.DB().Ping()
	if err != nil {
		log.Println(err.Error())
		return &db, err
	}

	return &db, nil
}
コード例 #2
0
ファイル: main.go プロジェクト: smtc/justTalk
func runServer() {
	r := router()

	if err := r.Run(fmt.Sprintf(":%d", config.GetIntDefault("port", 8000))); err != nil {
		glog.Fatal("run failed:", err)
	}
}
コード例 #3
0
ファイル: main.go プロジェクト: smtc/justTalk
func setGlobalVars() {
	domain = strings.TrimSpace(config.GetStringDefault("domain", "http://127.0.0.1"))
	if domain[len(domain)-1] == '/' {
		domain = domain[0 : len(domain)-1]
	}

	port = config.GetIntDefault("port", 80)
	if port != 80 {
		hostname = fmt.Sprintf("%s:%d", domain, port)
	} else {
		hostname = domain
	}
}
コード例 #4
0
ファイル: oauth.go プロジェクト: smtc/justTalk
func init() {
	deferinit.AddInit(func() {
		githubProvider = providers.NewGitHubProvider(&providers.ProviderData{
			LoginUrl:     &url.URL{},
			RedeemUrl:    &url.URL{},
			ProfileUrl:   &url.URL{},
			ValidateUrl:  &url.URL{},
			ClientID:     config.GetStringDefault("clientId", "66a252c0d27dc279b7cb"),
			ClientSecret: config.GetStringDefault("clientSecret", "a313e648feff0e6b30794142ff9304e42cd50da1"),
		})
		_sid = config.GetStringDefault("cookieName", "sid")
		_cookieSecure = config.GetBooleanDefault("cookieSecure", false)
		_cookieSeed = config.GetStringDefault("cookieSeed", "cookieseed")
		_expireSecond = config.GetIntDefault("cookieExpire", 86400*30)
		_cookieExpire = time.Duration(_expireSecond) * time.Second
	}, nil, 0)
}