Skip to content

Commit 2f4f0a0

Browse files
committed
fix redis sessionb db print an error when session created for first time...
1 parent 1b677c3 commit 2f4f0a0

File tree

1 file changed

+13
-15
lines changed

1 file changed

+13
-15
lines changed

sessiondb/redis/database.go

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -49,22 +49,20 @@ func (db *Database) Load(sid string) (storeDB sessions.RemoteStore) {
4949

5050
// fetch the values from this session id and copy-> store them
5151
storeMaybe, err := db.redis.Get(sid)
52-
if err != nil {
53-
golog.Errorf("error while trying to load session values(%s) from redis: %v", sid, err)
54-
return
55-
}
56-
57-
storeB, ok := storeMaybe.([]byte)
58-
if !ok {
59-
golog.Errorf("something wrong, store should be stored as []byte but stored as %#v", storeMaybe)
60-
return
61-
}
52+
// not exists yet, no problem return an empty remote store.
53+
if err == nil {
54+
storeB, ok := storeMaybe.([]byte)
55+
if !ok {
56+
golog.Errorf("something wrong, store should be stored as []byte but stored as %#v", storeMaybe)
57+
return
58+
}
6259

63-
storeDB, err = sessions.DecodeRemoteStore(storeB) // decode the whole value, as a remote store
64-
if err != nil {
65-
golog.Errorf(`error while trying to load session values(%s) from redis:
66-
the retrieved value is not a sessions.RemoteStore type, please report that as bug, that should never occur: %v`,
67-
sid, err)
60+
storeDB, err = sessions.DecodeRemoteStore(storeB) // decode the whole value, as a remote store
61+
if err != nil {
62+
golog.Errorf(`error while trying to load session values(%s) from redis:
63+
the retrieved value is not a sessions.RemoteStore type, please report that as bug, that should never occur: %v`,
64+
sid, err)
65+
}
6866
}
6967

7068
return

0 commit comments

Comments
 (0)