12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- package httpsession
- import (
- "net/http"
- "time"
- )
- type Session struct {
- id Id
- maxAge time.Duration
- manager *Manager
- }
- func (session *Session) Id() Id {
- return session.id
- }
- func (session *Session) SetId(id Id) {
- session.id = id
- }
- func (session *Session) Get(key string) interface{} {
- return session.manager.store.Get(session.id, key)
- }
- func (session *Session) GetMultiple() map[string]interface{} {
- return session.manager.store.GetMultiple(session.id)
- }
- func (session *Session) Set(key string, value interface{}) {
- session.manager.store.Set(session.id, key, value)
- }
- func (session *Session) SetMultiple(m map[string]interface{}) error {
- return session.manager.store.SetMultiple(session.id, m)
- }
- func (session *Session) Del(keys ...string) bool {
- return session.manager.store.Del(session.id, keys...)
- }
- func (session *Session) Clear() bool {
- return session.manager.store.Clear(session.id)
- }
- func (session *Session) Invalidate(rw http.ResponseWriter) {
- session.manager.Invalidate(rw, session)
- }
- func (session *Session) IsValid() bool {
- return session.manager.generator.IsValid(session.id)
- }
- func (session *Session) SetMaxAge(maxAge time.Duration) {
- session.maxAge = maxAge
- }
- func (session *Session) UpdateByCustomField(findkey string, findvalue interface{}, setkey string, setvalue interface{}) bool {
- return session.manager.store.UpdateByCustomField(findkey, findvalue, setkey, setvalue)
- }
- func NewSession(id Id, maxAge time.Duration, manager *Manager) *Session {
- return &Session{id: id, maxAge: manager.maxAge, manager: manager}
- }
|