add extra sessopts and any additional opts

This commit is contained in:
DarkGopher 2025-06-11 20:52:36 +02:00
parent 59aa49d2e9
commit 99e26546d7
4 changed files with 23 additions and 6 deletions

View file

@ -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