aboutsummaryrefslogtreecommitdiff
path: root/lib/pleroma/web/plugs/cache.ex
diff options
context:
space:
mode:
authorlain <lain@soykaf.club>2020-12-18 17:44:46 +0100
committerlain <lain@soykaf.club>2020-12-18 17:44:46 +0100
commit713612c37725c81b0906b03528c9eaa474816c7d (patch)
tree553b3f7c24875b7ed0fbb58375dcd6904206f47e /lib/pleroma/web/plugs/cache.ex
parent9a744d49c824e0a7d9963b00893fb2091e3ac4ab (diff)
downloadpleroma-713612c37725c81b0906b03528c9eaa474816c7d.tar.gz
Cachex: Make caching provider switchable at runtime.
Defaults to Cachex.
Diffstat (limited to 'lib/pleroma/web/plugs/cache.ex')
-rw-r--r--lib/pleroma/web/plugs/cache.ex8
1 files changed, 5 insertions, 3 deletions
diff --git a/lib/pleroma/web/plugs/cache.ex b/lib/pleroma/web/plugs/cache.ex
index 6de01804a..18880716a 100644
--- a/lib/pleroma/web/plugs/cache.ex
+++ b/lib/pleroma/web/plugs/cache.ex
@@ -41,6 +41,8 @@ defmodule Pleroma.Web.Plugs.Cache do
@defaults %{ttl: nil, query_params: true}
+ @cachex Pleroma.Config.get([:cachex, :provider], Cachex)
+
@impl true
def init([]), do: @defaults
@@ -53,7 +55,7 @@ defmodule Pleroma.Web.Plugs.Cache do
def call(%{method: "GET"} = conn, opts) do
key = cache_key(conn, opts)
- case Cachex.get(:web_resp_cache, key) do
+ case @cachex.get(:web_resp_cache, key) do
{:ok, nil} ->
cache_resp(conn, opts)
@@ -97,11 +99,11 @@ defmodule Pleroma.Web.Plugs.Cache do
conn =
unless opts[:tracking_fun] do
- Cachex.put(:web_resp_cache, key, {content_type, body}, ttl: ttl)
+ @cachex.put(:web_resp_cache, key, {content_type, body}, ttl: ttl)
conn
else
tracking_fun_data = Map.get(conn.assigns, :tracking_fun_data, nil)
- Cachex.put(:web_resp_cache, key, {content_type, body, tracking_fun_data}, ttl: ttl)
+ @cachex.put(:web_resp_cache, key, {content_type, body, tracking_fun_data}, ttl: ttl)
opts.tracking_fun.(conn, tracking_fun_data)
end