mirror of
https://github.com/oauth2-proxy/oauth2-proxy.git
synced 2025-05-27 23:08:10 +02:00
Refactor refreshSession method to reduce number of return
This commit is contained in:
parent
2781ea1c95
commit
b734de16e6
@ -145,15 +145,7 @@ func (s *storedSessionLoader) refreshSession(rw http.ResponseWriter, req *http.R
|
||||
err := session.ObtainLock(req.Context(), SessionLockExpireTime)
|
||||
if err != nil {
|
||||
logger.Errorf("Unable to obtain lock: %v", err)
|
||||
wasRefreshed, err := s.checkForConcurrentRefresh(session, req)
|
||||
if err != nil {
|
||||
logger.Errorf("Unable to wait for obtained lock: %v", err)
|
||||
return err
|
||||
}
|
||||
if !wasRefreshed {
|
||||
return errors.New("unable to obtain lock and session was also not refreshed via concurrent request")
|
||||
}
|
||||
return nil
|
||||
return s.handleObtainLockError(req, session)
|
||||
}
|
||||
defer func() {
|
||||
err = session.ReleaseLock(req.Context())
|
||||
@ -195,6 +187,18 @@ func (s *storedSessionLoader) refreshSession(rw http.ResponseWriter, req *http.R
|
||||
return err
|
||||
}
|
||||
|
||||
func (s *storedSessionLoader) handleObtainLockError(req *http.Request, session *sessionsapi.SessionState) error {
|
||||
wasRefreshed, err := s.checkForConcurrentRefresh(session, req)
|
||||
if err != nil {
|
||||
logger.Errorf("Unable to wait for obtained lock: %v", err)
|
||||
return err
|
||||
}
|
||||
if !wasRefreshed {
|
||||
return errors.New("unable to obtain lock and session was also not refreshed via concurrent request")
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (s *storedSessionLoader) updateSessionFromStore(req *http.Request, session *sessionsapi.SessionState) error {
|
||||
sessionStored, err := s.store.Load(req)
|
||||
if err != nil {
|
||||
|
Loading…
x
Reference in New Issue
Block a user