From 932e5df19ed53121db85acb055e06a3fd32775ff Mon Sep 17 00:00:00 2001 From: Tusooa Zhu Date: Thu, 5 May 2022 18:39:34 -0400 Subject: [PATCH] Allow to skip cache in Cache plug Ref: fix-local-public --- lib/pleroma/web/plugs/cache.ex | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) 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")