package utils import ( "net/http" "time" "github.com/alexedwards/scs/v2" ) type SessionManager struct { mgr *scs.SessionManager } var Session *SessionManager func InitSessionManager() *scs.SessionManager { sessMgr := scs.New() sessMgr.Lifetime = 24 * time.Hour Session = &SessionManager{mgr: sessMgr} return sessMgr } func (s *SessionManager) Get(r *http.Request, key string) interface{} { return s.mgr.Get(r.Context(), key) } func (s *SessionManager) Set(r *http.Request, key string, value interface{}) { s.mgr.Put(r.Context(), key, value) } func (s *SessionManager) Clear(r *http.Request) error { return s.mgr.Clear(r.Context()) }