コード例 #1
0
ファイル: reader.go プロジェクト: andrewtremblay/GoAuth
// Get the current signed in user
func GetSignedInUser(r *http.Request) *account.SignedUser {
	user := context.Get(r, context.SIGNEDID)
	if user == nil {
		return nil
	}
	return user.(*account.SignedUser)
}
コード例 #2
0
ファイル: reader.go プロジェクト: andrewtremblay/GoAuth
func IsSignedInUser(r *http.Request) bool {
	user := context.Get(r, context.SIGNEDID)
	if user == nil {
		return false
	}
	return true
}
コード例 #3
0
ファイル: crud.go プロジェクト: andrewtremblay/GoAuth
// Need request object, for reading session id from request context
func InsertData(r *http.Request, key string, value interface{}) {
	sid := context.Get(r, context.SID).(string)
	c := redis.Get()
	if _, err := c.Do("HMSET", sid, key, value); err != nil {
		panic(err.Error())
	}

	// Session storage id will be remove in 10 hours. Keep
	// redis database clean.
	c.Do("EXPIREAT", sid, time.Now().Add(time.Hour*10).Unix())
}
コード例 #4
0
ファイル: crud.go プロジェクト: andrewtremblay/GoAuth
// If value is not found, then return empty string
func ReadData(r *http.Request, key string) (interface{}, error) {

	var value string

	sid := context.Get(r, context.SID).(string)
	c := redis.Get()
	raw, err := redigo.Values(c.Do("HMGET", sid, key))

	redigo.Scan(raw, &value)
	if err != nil {
		return nil, err
	}
	return value, nil
}
コード例 #5
0
ファイル: crud.go プロジェクト: andrewtremblay/GoAuth
func DeleteData(r *http.Request, key string) {
	sid := context.Get(r, context.SID).(string)
	c := redis.Get()
	c.Do("HDEL", sid, key)
}
コード例 #6
0
ファイル: controller.go プロジェクト: andrewtremblay/GoAuth
func GetLang(r *http.Request) string {
	return context.Get(r, context.LANGUAGE).(string)
}