mux/middleware/session/memstore.go

31 lines
440 B
Go
Raw Normal View History

2024-07-29 02:38:17 +03:00
package session
import (
"sync"
)
type MemoryStore struct {
store sync.Map
}
func (s *MemoryStore) Load(sessionID string) Values {
2024-07-29 02:38:17 +03:00
val, ok := s.store.Load(sessionID)
if ok {
return val.(Values)
2024-07-29 02:38:17 +03:00
}
return Values{}
2024-07-29 02:38:17 +03:00
}
func (s *MemoryStore) Save(sessionID string, value Values) error {
2024-07-29 02:38:17 +03:00
s.store.Store(sessionID, value)
return nil
}
func (s *MemoryStore) Remove(sessionID string) error {
2024-07-29 02:38:17 +03:00
s.store.Delete(sessionID)
return nil
}