add extra sessopts and any additional opts
This commit is contained in:
parent
59aa49d2e9
commit
99e26546d7
4 changed files with 23 additions and 6 deletions
18
session.go
18
session.go
|
@ -85,16 +85,24 @@ type Manager struct {
|
|||
secure bool
|
||||
}
|
||||
|
||||
// SessOpts set session options or NewManager
|
||||
type SessOpts struct {
|
||||
ProviderName string
|
||||
CookieName string
|
||||
MaxLifetime int64
|
||||
Ssl bool
|
||||
}
|
||||
|
||||
// NewManager create new *Manager for provideName, cookieName and maxlifetime in seconds
|
||||
func NewManager(providerName, cookieName string, maxlifetime int64, ssl bool) (*Manager, error) {
|
||||
func NewManager(sopts SessOpts, adopts any) (*Manager, error) {
|
||||
var provider Provider
|
||||
var ok bool
|
||||
if provider, ok = provides[providerName]; !ok {
|
||||
return nil, fmt.Errorf("session: Provider: %q not found (forgotten import?)", providerName)
|
||||
if provider, ok = provides[sopts.ProviderName]; !ok {
|
||||
return nil, fmt.Errorf("session: Provider: %q not found (forgotten import?)", sopts.ProviderName)
|
||||
}
|
||||
m := &Manager{
|
||||
cookieName: cookieName, provider: provider,
|
||||
maxlifetime: maxlifetime, secure: ssl,
|
||||
cookieName: sopts.CookieName, provider: provider,
|
||||
maxlifetime: sopts.MaxLifetime, secure: sopts.Ssl,
|
||||
}
|
||||
go m.GC()
|
||||
return m, nil
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue