diff --git a/lib/pleroma/web/plugs/cache.ex b/lib/pleroma/web/plugs/cache.ex index 935b2d834..b0e44db07 100644 --- a/lib/pleroma/web/plugs/cache.ex +++ b/lib/pleroma/web/plugs/cache.ex @@ -100,20 +100,19 @@ defmodule Pleroma.Web.Plugs.Cache do should_cache = not Map.get(conn.assigns, :skip_cache, false) conn = - unless opts[:tracking_fun] do - if should_cache do + cond do + Map.get(conn.assigns, :skip_cache, false) -> + conn + + !opts[:tracking_fun] -> @cachex.put(:web_resp_cache, key, {content_type, body}, ttl: ttl) - end + conn - conn - else - tracking_fun_data = Map.get(conn.assigns, :tracking_fun_data, nil) - - if should_cache do + true -> + 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) - end - opts.tracking_fun.(conn, tracking_fun_data) + opts.tracking_fun.(conn, tracking_fun_data) end put_resp_header(conn, "x-cache", "MISS from Pleroma")