Documentation ¶
Overview ¶
Package session a middleware that provides the session manager of Macaron.
Index ¶
- func DecodeGob(encoded []byte) (map[interface{}]interface{}, error)
- func EncodeGob(obj map[interface{}]interface{}) ([]byte, error)
- func Register(name string, provider Provider)
- func Sessioner(options ...Options) macaron.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 FileSessionStore
- type Flash
- type Manager
- func (m *Manager) Count() int
- func (m *Manager) Destory(ctx *macaron.Context) error
- func (m *Manager) GC()
- func (m *Manager) Read(sid string) (RawStore, error)
- func (m *Manager) RegenerateId(ctx *macaron.Context) (sess RawStore, err error)
- func (m *Manager) SetSecure(secure bool)
- func (m *Manager) Start(ctx *macaron.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 MemSessionStore
- 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 FileSessionStore ¶
type FileSessionStore struct {
// contains filtered or unexported fields
}
FileSessionStore represents a file session store implementation.
func NewFileSessionStore ¶
func NewFileSessionStore(p *FileProvider, sid string, kv map[interface{}]interface{}) *FileSessionStore
NewFileSessionStore creates and returns a file session store.
func (*FileSessionStore) Delete ¶
func (s *FileSessionStore) Delete(key interface{}) error
Delete delete a key from session.
func (*FileSessionStore) Flush ¶
func (s *FileSessionStore) Flush() error
Flush deletes all session data.
func (*FileSessionStore) Get ¶
func (s *FileSessionStore) Get(key interface{}) interface{}
Get gets value by given key in session.
func (*FileSessionStore) Release ¶
func (s *FileSessionStore) Release() error
Release releases resource and save data to provider.
func (*FileSessionStore) Set ¶
func (s *FileSessionStore) Set(key, val interface{}) error
Set sets value to 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 MemSessionStore ¶
type MemSessionStore struct {
// contains filtered or unexported fields
}
MemSessionStore represents a in-memory session store implementation.
func NewMemSessionStore ¶
func NewMemSessionStore(sid string) *MemSessionStore
NewMemSessionStore creates and returns a memory session store.
func (*MemSessionStore) Delete ¶
func (s *MemSessionStore) Delete(key interface{}) error
Delete delete a key from session.
func (*MemSessionStore) Flush ¶
func (s *MemSessionStore) Flush() error
Flush deletes all session data.
func (*MemSessionStore) Get ¶
func (s *MemSessionStore) Get(key interface{}) interface{}
Get gets value by given key in session.
func (*MemSessionStore) Release ¶
func (_ *MemSessionStore) Release() error
Release releases resource and save data to provider.
func (*MemSessionStore) Set ¶
func (s *MemSessionStore) Set(key, val interface{}) error
Set sets value to 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 }
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(key, value interface{}) error // Get gets value by given key in session. Get(key interface{}) interface{} // Delete delete a key from session. Delete(key 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(sid string) (RawStore, error) // Destory deletes a session. Destory(*macaron.Context) error // RegenerateId regenerates a session store from old session ID to new one. RegenerateId(*macaron.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.