(defn memory-store
"Creates an in-memory session storage engine."
[]
(let [session-map (atom {})]
{:read (fn [session-key]
(@session-map session-key {}))
:write (fn [session-key session]
(let [session-key (or session-key (str (UUID/randomUUID)))]
(swap! session-map assoc session-key session)
session-key))
:delete (fn [session-key]
(swap! session-map dissoc session-key)
nil)}))
Comments top
No comments for memory-store. Log in to add a comment.