From 7361b524e857c7f055af703c5fbce636342b5a23 Mon Sep 17 00:00:00 2001 From: Peter Stuifzand Date: Sat, 15 Sep 2018 16:04:50 +0200 Subject: [PATCH] Get the cached value from Redis --- cmd/eksterd/auth.go | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/cmd/eksterd/auth.go b/cmd/eksterd/auth.go index 829f3d4..90480be 100644 --- a/cmd/eksterd/auth.go +++ b/cmd/eksterd/auth.go @@ -43,13 +43,9 @@ func (b *memoryBackend) cachedCheckAuthToken(conn redis.Conn, header string, r * var err error - values, err := redis.Values(conn.Do("HGETALL", key)) - if err == nil && len(values) > 0 { - if err = redis.ScanStruct(values, r); err == nil { - return true - } - } else { - log.Printf("Error while HGETALL %v\n", err) + areweauth, err := getCachedValue(err, conn, key, r) + if areweauth { + return true } authorized := b.checkAuthToken(header, r) @@ -75,6 +71,16 @@ func (b *memoryBackend) cachedCheckAuthToken(conn redis.Conn, header string, r * return authorized } +func getCachedValue(err error, conn redis.Conn, key string, r *auth.TokenResponse) (bool, error) { + values, err := redis.Values(conn.Do("HGETALL", key)) + if err == nil && len(values) > 0 { + if err = redis.ScanStruct(values, r); err == nil { + return true, nil + } + } + return false, fmt.Errorf("error while getting value from backend: %v", err) +} + func (b *memoryBackend) checkAuthToken(header string, token *auth.TokenResponse) bool { log.Println("Checking auth token")