@@ -21,7 +21,10 @@ func (m *Manager) CreateSession(username, ipAddress, userAgent string) (uuid.UUI
2121
2222 /* check if session exists -> if yes, reset the timer and return the session ID */
2323 if session , exists := m .sessionsMap [username ]; exists {
24- m .RefreshTimer (username )
24+ if err := m .RefreshTimer (username ); err != nil {
25+ m .errCh <- err
26+ return uuid .Nil , fmt .Errorf ("sessions exists, but failed to refresh the timer" )
27+ }
2528 return session .ID , nil
2629 }
2730
@@ -60,7 +63,10 @@ func (m *Manager) CreateSession(username, ipAddress, userAgent string) (uuid.UUI
6063 m .sessionsMap [username ] = session
6164
6265 /* store session to Redis */
63- m .saveSessionRedis (session )
66+ if err := m .saveSessionRedis (session ); err != nil {
67+ m .errCh <- err
68+ return uuid .Nil , fmt .Errorf ("failed to store session to Redis" )
69+ }
6470
6571 return sessionID , nil
6672}
@@ -238,11 +244,18 @@ func (m *Manager) RefreshTimer(username string) error {
238244
239245 /* reset the session timer */
240246 session .Timer = time .AfterFunc (time .Duration (config .BackendConfig .AppInfo .SessionTimeout )* time .Hour ,
241- func () { m .ExpireSession (username ) },
247+ func () {
248+ if err := m .ExpireSession (username ); err != nil {
249+ m .errCh <- err
250+ }
251+ },
242252 )
243253
244254 /* update Redis for session */
245- m .saveSessionRedis (session )
255+ if err := m .saveSessionRedis (session ); err != nil {
256+ m .errCh <- err
257+ return fmt .Errorf ("failed to store session to Redis" )
258+ }
246259
247260 return nil
248261}
0 commit comments