Documentation
¶
Overview ¶
Package session a middleware that provides the session management of Macaron.
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) 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 FileStore
- 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 MemStore
- type Options
- type Provider
- type RawStore
- type Store
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Sessioner ¶
Sessioner is a middleware that maps a session.SessionStore service into the Macaron handler chain. An single variadic session.Options struct can be optionally provided to configure.
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) Delete ¶
Delete delete a key from session.
func (*FileStore) Get ¶
func (s *FileStore) Get(key interface{}) interface{}
Get gets value by given key in session.
func (*FileStore) Release ¶
Release releases resource and save data to provider.
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) Destory ¶
Destory deletes a session by given ID.
func (*Manager) Read ¶
Read returns raw session store by session ID.
func (*Manager) RegenerateId ¶
RegenerateId regenerates a session store from old session ID to new one.
func (*Manager) SetSecure ¶
SetSecure indicates whether to set cookie with HTTPS or not.
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) Delete ¶
Delete deletes a key from session.
func (*MemStore) Get ¶
func (s *MemStore) Get(key interface{}) interface{}
Get gets value by given key in session.
func (*MemStore) Release ¶
Release releases resource and save data to provider.
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(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(*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.
Source Files
¶
- file.go
- memory.go
- session.go
- utils.go
