mux/middleware/session/memstore.go

31 lines
440 B
Go

package session
import (
"sync"
)
type MemoryStore struct {
store sync.Map
}
func (s *MemoryStore) Load(sessionID string) Values {
val, ok := s.store.Load(sessionID)
if ok {
return val.(Values)
}
return Values{}
}
func (s *MemoryStore) Save(sessionID string, value Values) error {
s.store.Store(sessionID, value)
return nil
}
func (s *MemoryStore) Remove(sessionID string) error {
s.store.Delete(sessionID)
return nil
}