Documentation ¶
Overview ¶
Package session a middleware that provides the session management of Emmanuel.
Index ¶
- func DecodeGob(encoded []byte) (out map[interface{}]interface{}, err error)
- func EncodeGob(obj map[interface{}]interface{}) ([]byte, error)
- func Register(name string, provider Provider)
- func Sessioner(options ...Options) emmanuel.Handler
- func Version() string
- type FileProvider
- func (p *FileProvider) Count() int
- func (p *FileProvider) Destory(sid string) error
- func (p *FileProvider) Exist(sid string) bool
- func (p *FileProvider) GC()
- func (p *FileProvider) Init(maxlifetime int64, rootPath string) error
- func (p *FileProvider) Read(sid string) (_ RawStore, err error)
- func (p *FileProvider) Regenerate(oldsid, sid string) (_ RawStore, err error)
- type FileStore
- type Flash
- type Manager
- func (m *Manager) Count() int
- func (m *Manager) Destory(ctx *emmanuel.Context) error
- func (m *Manager) GC()
- func (m *Manager) Read(sid string) (RawStore, error)
- func (m *Manager) RegenerateId(ctx *emmanuel.Context) (sess RawStore, err error)
- func (m *Manager) SetSecure(secure bool)
- func (m *Manager) Start(ctx *emmanuel.Context) (RawStore, error)
- type MemProvider
- func (p *MemProvider) Count() int
- func (p *MemProvider) Destory(sid string) error
- func (p *MemProvider) Exist(sid string) bool
- func (p *MemProvider) GC()
- func (p *MemProvider) Init(maxLifetime int64, _ string) error
- func (p *MemProvider) Read(sid string) (_ RawStore, err error)
- func (p *MemProvider) Regenerate(oldsid, sid string) (RawStore, error)
- type MemStore
- type Options
- type Provider
- type RawStore
- type Store
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type FileProvider ¶
type FileProvider struct {
// contains filtered or unexported fields
}
FileProvider represents a file session provider implementation.
func (*FileProvider) Count ¶
func (p *FileProvider) Count() int
Count counts and returns number of sessions.
func (*FileProvider) Destory ¶
func (p *FileProvider) Destory(sid string) error
Destory deletes a session by session ID.
func (*FileProvider) Exist ¶
func (p *FileProvider) Exist(sid string) bool
Exist returns true if session with given ID exists.
func (*FileProvider) Init ¶
func (p *FileProvider) Init(maxlifetime int64, rootPath string) error
Init initializes file session provider with given root path.
func (*FileProvider) Read ¶
func (p *FileProvider) Read(sid string) (_ RawStore, err error)
Read returns raw session store by session ID.
func (*FileProvider) Regenerate ¶
func (p *FileProvider) Regenerate(oldsid, sid string) (_ RawStore, err error)
Regenerate regenerates a session store from old session ID to new one.
type FileStore ¶
type FileStore struct {
// contains filtered or unexported fields
}
FileStore represents a file session store implementation.
func NewFileStore ¶
func NewFileStore(p *FileProvider, sid string, kv map[interface{}]interface{}) *FileStore
NewFileStore creates and returns a file session store.
func (*FileStore) Get ¶
func (s *FileStore) Get(key interface{}) interface{}
Get gets value by given key in session.
type Flash ¶
type Manager ¶
type Manager struct {
// contains filtered or unexported fields
}
Manager represents a struct that contains session provider and its configuration.
func NewManager ¶
NewManager creates and returns a new session manager by given provider name and configuration. It panics when given provider isn't registered.
func (*Manager) RegenerateId ¶
RegenerateId regenerates a session store from old session ID to new one.
type MemProvider ¶
type MemProvider struct {
// contains filtered or unexported fields
}
MemProvider represents a in-memory session provider implementation.
func (*MemProvider) Count ¶
func (p *MemProvider) Count() int
Count counts and returns number of sessions.
func (*MemProvider) Destory ¶
func (p *MemProvider) Destory(sid string) error
Destory deletes a session by session ID.
func (*MemProvider) Exist ¶
func (p *MemProvider) Exist(sid string) bool
Exist returns true if session with given ID exists.
func (*MemProvider) Init ¶
func (p *MemProvider) Init(maxLifetime int64, _ string) error
Init initializes memory session provider.
func (*MemProvider) Read ¶
func (p *MemProvider) Read(sid string) (_ RawStore, err error)
Read returns raw session store by session ID.
func (*MemProvider) Regenerate ¶
func (p *MemProvider) Regenerate(oldsid, sid string) (RawStore, error)
Regenerate regenerates a session store from old session ID to new one.
type MemStore ¶
type MemStore struct {
// contains filtered or unexported fields
}
MemStore represents a in-memory session store implementation.
func NewMemStore ¶
NewMemStore creates and returns a memory session store.
func (*MemStore) Get ¶
func (s *MemStore) Get(key interface{}) interface{}
Get gets value by given key in session.
type Options ¶
type Options struct { // Name of provider. Default is "memory". Provider string // Provider configuration, it's corresponding to provider. ProviderConfig string // Cookie name to save session ID. Default is "MacaronSession". CookieName string // Cookie path to store. Default is "/". CookiePath string // GC interval time in seconds. Default is 3600. Gclifetime int64 // Max life time in seconds. Default is whatever GC interval time is. Maxlifetime int64 // Use HTTPS only. Default is false. Secure bool // Cookie life time. Default is 0. CookieLifeTime int // Cookie domain name. Default is empty. Domain string // Session ID length. Default is 16. IDLength int // Configuration section name. Default is "session". Section string // Ignore release for websocket. Default is false. IgnoreReleaseForWebSocket bool }
Options represents a struct for specifying configuration options for the session middleware.
type Provider ¶
type Provider interface { // Init initializes session provider. Init(gclifetime int64, config string) error // Read returns raw session store by session ID. Read(sid string) (RawStore, error) // Exist returns true if session with given ID exists. Exist(sid string) bool // Destory deletes a session by session ID. Destory(sid string) error // Regenerate regenerates a session store from old session ID to new one. Regenerate(oldsid, sid string) (RawStore, error) // Count counts and returns number of sessions. Count() int // GC calls GC to clean expired sessions. GC() }
Provider is the interface that provides session manipulations.
type RawStore ¶
type RawStore interface { // Set sets value to given key in session. Set(interface{}, interface{}) error // Get gets value by given key in session. Get(interface{}) interface{} // Delete deletes a key from session. Delete(interface{}) error // ID returns current session ID. ID() string // Release releases session resource and save data to provider. Release() error // Flush deletes all session data. Flush() error }
RawStore is the interface that operates the session data.
type Store ¶
type Store interface { RawStore // Read returns raw session store by session ID. Read(string) (RawStore, error) // Destory deletes a session. Destory(*emmanuel.Context) error // RegenerateId regenerates a session store from old session ID to new one. RegenerateId(*emmanuel.Context) (RawStore, error) // Count counts and returns number of sessions. Count() int // GC calls GC to clean expired sessions. GC() }
Store is the interface that contains all data for one session process with specific ID.