E2E tests done
This commit is contained in:
parent
e7c9034d2c
commit
23a192635e
4 changed files with 32 additions and 22 deletions
18
session.go
18
session.go
|
@ -8,11 +8,18 @@ import (
|
|||
"io"
|
||||
"net/http"
|
||||
"net/url"
|
||||
"testing"
|
||||
"time"
|
||||
)
|
||||
|
||||
var milis int64 = 1000
|
||||
|
||||
func init() {
|
||||
if testing.Testing() {
|
||||
milis = 1
|
||||
}
|
||||
}
|
||||
|
||||
// for provider fun
|
||||
var provides = make(map[string]Provider)
|
||||
|
||||
|
@ -38,7 +45,7 @@ type Session interface {
|
|||
Get(key interface{}) (v any, err error)
|
||||
//delete session value
|
||||
Delete(key interface{}) error
|
||||
//get session id for session
|
||||
//get session id
|
||||
SessionID() string
|
||||
}
|
||||
|
||||
|
@ -46,6 +53,8 @@ type Session interface {
|
|||
type Provider interface {
|
||||
//create new session using sid value
|
||||
Init(sid string) (Session, error)
|
||||
//Exists return true if session with sid exist
|
||||
Exists(sid string) bool
|
||||
//read return existing session by id or if not exist create new session
|
||||
Read(sid string) (Session, error)
|
||||
//destroy remove session with sid from storage if exist
|
||||
|
@ -87,7 +96,7 @@ func NewManager(providerName, cookieName string, maxlifetime int64, ssl bool) (*
|
|||
cookieName: cookieName, provider: provider,
|
||||
maxlifetime: maxlifetime, secure: ssl,
|
||||
}
|
||||
m.GC()
|
||||
go m.GC()
|
||||
return m, nil
|
||||
}
|
||||
|
||||
|
@ -144,6 +153,11 @@ func (manager *Manager) SessionDestroy(w http.ResponseWriter, r *http.Request) (
|
|||
return nil
|
||||
}
|
||||
|
||||
// Exists return true if session with sid exists on server
|
||||
func (manager *Manager) Exists(sid string) bool {
|
||||
return manager.provider.Exists(sid)
|
||||
}
|
||||
|
||||
// RegenerateID vhange sid and preserve all session data
|
||||
func (manager *Manager) RegenerateID(w http.ResponseWriter, r *http.Request) {
|
||||
if ck, err := r.Cookie(manager.cookieName); err == nil && ck.Value != "" {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue