From 3ec5ff58c92edad4751822a48a310bf19dcc00c1 Mon Sep 17 00:00:00 2001 From: kataras Date: Mon, 21 Aug 2017 20:59:54 +0300 Subject: [PATCH] Fix https://github.com/kataras/iris/issues/726 My second mistake on redis session db because I'm not personally use redis, so I'm waiting for redis users to find these type of errors inside it, such as @sy264115809 Former-commit-id: df84348df7509c0f863f41f01de6ed6db6e8133e --- sessions/sessiondb/redis/database.go | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/sessions/sessiondb/redis/database.go b/sessions/sessiondb/redis/database.go index d30152261b..ccfbe968bc 100644 --- a/sessions/sessiondb/redis/database.go +++ b/sessions/sessiondb/redis/database.go @@ -54,12 +54,17 @@ func (db *Database) Load(sid string) (storeDB sessions.RemoteStore) { return } - storeDB, ok := storeMaybe.(sessions.RemoteStore) + storeB, ok := storeMaybe.([]byte) if !ok { + golog.Errorf("something wrong, store should be stored as []byte but stored as %#v", storeMaybe) + return + } + + storeDB, err = sessions.DecodeRemoteStore(storeB) // decode the whole value, as a remote store + if err != nil { golog.Errorf(`error while trying to load session values(%s) from redis: - the retrieved value is not a sessions.RemoteStore type, please report that as bug, it should never occur`, + the retrieved value is not a sessions.RemoteStore type, please report that as bug, that should never occur`, sid) - return } return