@@ -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