mux/middleware/session/memstore.go

32 lines
510 B
Go
Raw Normal View History

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