Revert "Add error to SessionExist interface"

This reverts commit 28e6b3b924.
This commit is contained in:
Phillip Stagnet 2020-08-05 18:29:47 +02:00
parent 5f2f6e4f86
commit 3052c64b6c
No known key found for this signature in database
GPG Key ID: 029E4A7879FBE381
14 changed files with 48 additions and 109 deletions

View File

@ -179,16 +179,16 @@ func (cp *Provider) SessionRead(sid string) (session.Store, error) {
// SessionExist Check couchbase session exist.
// it checkes sid exist or not.
func (cp *Provider) SessionExist(sid string) (bool, error) {
func (cp *Provider) SessionExist(sid string) bool {
cp.b = cp.getBucket()
defer cp.b.Close()
var doc []byte
if err := cp.b.Get(sid, &doc); err != nil || doc == nil {
return false, err
return false
}
return true, nil
return true
}
// SessionRegenerate remove oldsid and use sid to generate new session

View File

@ -132,9 +132,9 @@ func (lp *Provider) SessionRead(sid string) (session.Store, error) {
}
// SessionExist check ledis session exist by sid
func (lp *Provider) SessionExist(sid string) (bool, error) {
func (lp *Provider) SessionExist(sid string) bool {
count, _ := c.Exists([]byte(sid))
return count != 0, nil
return count != 0
}
// SessionRegenerate generate new sid for ledis session

View File

@ -149,16 +149,16 @@ func (rp *MemProvider) SessionRead(sid string) (session.Store, error) {
}
// SessionExist check memcache session exist by sid
func (rp *MemProvider) SessionExist(sid string) (bool, error) {
func (rp *MemProvider) SessionExist(sid string) bool {
if client == nil {
if err := rp.connectInit(); err != nil {
return false, err
return false
}
}
if item, err := client.Get(sid); err != nil || len(item.Value) == 0 {
return false, err
return false
}
return true, nil
return true
}
// SessionRegenerate generate new sid for memcache session

View File

@ -164,19 +164,13 @@ func (mp *Provider) SessionRead(sid string) (session.Store, error) {
}
// SessionExist check mysql session exist
func (mp *Provider) SessionExist(sid string) (bool, error) {
func (mp *Provider) SessionExist(sid string) bool {
c := mp.connectInit()
defer c.Close()
row := c.QueryRow("select session_data from "+TableName+" where session_key=?", sid)
var sessiondata []byte
err := row.Scan(&sessiondata)
if err != nil {
if err == sql.ErrNoRows {
return false, nil
}
return false, err
}
return true, nil
return err != sql.ErrNoRows
}
// SessionRegenerate generate new sid for mysql session

View File

@ -178,19 +178,13 @@ func (mp *Provider) SessionRead(sid string) (session.Store, error) {
}
// SessionExist check postgresql session exist
func (mp *Provider) SessionExist(sid string) (bool, error) {
func (mp *Provider) SessionExist(sid string) bool {
c := mp.connectInit()
defer c.Close()
row := c.QueryRow("select session_data from session where session_key=$1", sid)
var sessiondata []byte
err := row.Scan(&sessiondata)
if err != nil {
if err == sql.ErrNoRows {
return false, nil
}
return false, err
}
return true, nil
return err != sql.ErrNoRows
}
// SessionRegenerate generate new sid for postgresql session

View File

@ -211,14 +211,14 @@ func (rp *Provider) SessionRead(sid string) (session.Store, error) {
}
// SessionExist check redis session exist by sid
func (rp *Provider) SessionExist(sid string) (bool, error) {
func (rp *Provider) SessionExist(sid string) bool {
c := rp.poollist.Get()
defer c.Close()
if existed, err := redis.Int(c.Do("EXISTS", sid)); err != nil || existed == 0 {
return false, err
return false
}
return true, nil
return true
}
// SessionRegenerate generate new sid for redis session

View File

@ -176,12 +176,12 @@ func (rp *Provider) SessionRead(sid string) (session.Store, error) {
}
// SessionExist check redis_cluster session exist by sid
func (rp *Provider) SessionExist(sid string) (bool, error) {
func (rp *Provider) SessionExist(sid string) bool {
c := rp.poollist
if existed, err := c.Exists(sid).Result(); err != nil || existed == 0 {
return false, err
return false
}
return true, nil
return true
}
// SessionRegenerate generate new sid for redis_cluster session

View File

@ -189,12 +189,12 @@ func (rp *Provider) SessionRead(sid string) (session.Store, error) {
}
// SessionExist check redis_sentinel session exist by sid
func (rp *Provider) SessionExist(sid string) (bool, error) {
func (rp *Provider) SessionExist(sid string) bool {
c := rp.poollist
if existed, err := c.Exists(sid).Result(); err != nil || existed == 0 {
return false, err
return false
}
return true, nil
return true
}
// SessionRegenerate generate new sid for redis_sentinel session

View File

@ -147,8 +147,8 @@ func (pder *CookieProvider) SessionRead(sid string) (Store, error) {
}
// SessionExist Cookie session is always existed
func (pder *CookieProvider) SessionExist(sid string) (bool, error) {
return true, nil
func (pder *CookieProvider) SessionExist(sid string) bool {
return true
}
// SessionRegenerate Implement method, no used.

View File

@ -176,20 +176,17 @@ func (fp *FileProvider) SessionRead(sid string) (Store, error) {
// SessionExist Check file session exist.
// it checks the file named from sid exist or not.
func (fp *FileProvider) SessionExist(sid string) (bool, error) {
func (fp *FileProvider) SessionExist(sid string) bool {
filepder.lock.Lock()
defer filepder.lock.Unlock()
if len(sid) < 2 {
SLogger.Println("min length of session id is 2", sid)
return false, nil
return false
}
_, err := os.Stat(path.Join(fp.savePath, string(sid[0]), string(sid[1]), sid))
if err != nil {
return false, nil
}
return true, nil
return err == nil
}
// SessionDestroy Remove all files in this save path

View File

@ -56,24 +56,16 @@ func TestFileProvider_SessionExist(t *testing.T) {
_ = fp.SessionInit(180, sessionPath)
exists, err := fp.SessionExist(sid)
if err != nil{
t.Error(err)
}
if exists {
if fp.SessionExist(sid) {
t.Error()
}
_, err = fp.SessionRead(sid)
_, err := fp.SessionRead(sid)
if err != nil {
t.Error(err)
}
exists, err = fp.SessionExist(sid)
if err != nil {
t.Error(err)
}
if !exists {
if !fp.SessionExist(sid) {
t.Error()
}
}
@ -87,27 +79,15 @@ func TestFileProvider_SessionExist2(t *testing.T) {
_ = fp.SessionInit(180, sessionPath)
exists, err := fp.SessionExist(sid)
if err != nil {
t.Error(err)
}
if exists {
if fp.SessionExist(sid) {
t.Error()
}
exists, err = fp.SessionExist("")
if err != nil {
t.Error(err)
}
if exists {
if fp.SessionExist("") {
t.Error()
}
exists, err = fp.SessionExist("1")
if err != nil {
t.Error(err)
}
if exists {
if fp.SessionExist("1") {
t.Error()
}
}
@ -191,11 +171,7 @@ func TestFileProvider_SessionRegenerate(t *testing.T) {
t.Error(err)
}
exists, err := fp.SessionExist(sid)
if err != nil {
t.Error(err)
}
if !exists {
if !fp.SessionExist(sid) {
t.Error()
}
@ -204,19 +180,11 @@ func TestFileProvider_SessionRegenerate(t *testing.T) {
t.Error(err)
}
exists, err = fp.SessionExist(sid)
if err != nil {
t.Error(err)
}
if exists {
if fp.SessionExist(sid) {
t.Error()
}
exists, err = fp.SessionExist(sidNew)
if err != nil {
t.Error(err)
}
if !exists {
if !fp.SessionExist(sidNew) {
t.Error()
}
}
@ -235,11 +203,7 @@ func TestFileProvider_SessionDestroy(t *testing.T) {
t.Error(err)
}
exists, err := fp.SessionExist(sid)
if err != nil {
t.Error(err)
}
if !exists {
if !fp.SessionExist(sid) {
t.Error()
}
@ -248,11 +212,7 @@ func TestFileProvider_SessionDestroy(t *testing.T) {
t.Error(err)
}
exists, err = fp.SessionExist(sid)
if err != nil {
t.Error(err)
}
if exists {
if fp.SessionExist(sid) {
t.Error()
}
}

View File

@ -109,13 +109,13 @@ func (pder *MemProvider) SessionRead(sid string) (Store, error) {
}
// SessionExist check session store exist in memory session by sid
func (pder *MemProvider) SessionExist(sid string) (bool, error) {
func (pder *MemProvider) SessionExist(sid string) bool {
pder.lock.RLock()
defer pder.lock.RUnlock()
if _, ok := pder.sessions[sid]; ok {
return true, nil
return true
}
return false, nil
return false
}
// SessionRegenerate generate new sid for session store in memory session

View File

@ -56,7 +56,7 @@ type Store interface {
type Provider interface {
SessionInit(gclifetime int64, config string) error
SessionRead(sid string) (Store, error)
SessionExist(sid string) (bool, error)
SessionExist(sid string) bool
SessionRegenerate(oldsid, sid string) (Store, error)
SessionDestroy(sid string) error
SessionAll() int //get all active session
@ -211,14 +211,8 @@ func (manager *Manager) SessionStart(w http.ResponseWriter, r *http.Request) (se
return nil, errs
}
if sid != "" {
exists, err := manager.provider.SessionExist(sid)
if err != nil {
return nil, err
}
if exists {
return manager.provider.SessionRead(sid)
}
if sid != "" && manager.provider.SessionExist(sid) {
return manager.provider.SessionRead(sid)
}
// Generate a new session

View File

@ -68,7 +68,7 @@ func (p *Provider) SessionRead(sid string) (session.Store, error) {
}
// SessionExist judged whether sid is exist in session
func (p *Provider) SessionExist(sid string) (bool, error) {
func (p *Provider) SessionExist(sid string) bool {
if p.client == nil {
if err := p.connectInit(); err != nil {
panic(err)
@ -76,12 +76,12 @@ func (p *Provider) SessionExist(sid string) (bool, error) {
}
value, err := p.client.Get(sid)
if err != nil {
return false, err
panic(err)
}
if value == nil || len(value.(string)) == 0 {
return false, nil
return false
}
return true, nil
return true
}
// SessionRegenerate regenerate session with new sid and delete oldsid