Current section

Files

Jump to
exdjango lib session redis.ex
Raw

lib/session/redis.ex

defmodule ExDjango.Session.Redis do
alias ExDjango.Utils.Redis
def init(opts) do
%{key_prefix: Keyword.get(opts, :key_prefix, Redis.default_session_key_prefix())}
end
def get(_conn, sid, opts) do
{sid, Redis.get_session(opts.key_prefix, sid)}
end
def put(conn, nil, data, opts) do
sid = :crypto.strong_rand_bytes(96) |> Base.encode64
put(conn, sid, data, opts)
end
def put(_conn, sid, data, opts) do
Redis.put_session(opts.key_prefix, sid, data)
end
def delete(_conn, sid, opts) do
Redis.delete_session(opts.key_prefix, sid)
end
end