Skip to content
Snippets Groups Projects
Commit c119ea3a authored by Rin Toshaka's avatar Rin Toshaka
Browse files

Friendship ended with Postgresql now Cachex is my best friend

parent 535fddd2
Branches
No related tags found
No related merge requests found
......@@ -73,10 +73,10 @@ defmodule Pleroma.Object do
{:ok, object}
end
end
def get_cached_scrubbed_html(content, scrubbers, object) do
key = "#{generate_scrubber_signature(scrubbers)}|#{object.id}"
Cachex.fetch!(:scrubber_cache, key, fn(_key) -> ensure_scrubbed_html(content, scrubbers) end )
Cachex.fetch!(:scrubber_cache, key, fn _key -> ensure_scrubbed_html(content, scrubbers) end)
end
def get_cached_stripped_html(content, object) do
......@@ -87,22 +87,24 @@ defmodule Pleroma.Object do
content,
scrubbers
) do
{:commit, HTML.filter_tags(content, scrubbers)}
{:commit, HTML.filter_tags(content, scrubbers)}
end
defp generate_scrubber_signature(scrubber) when is_atom(scrubber) do
generate_scrubber_signature([scrubber])
end
defp generate_scrubber_signature(scrubbers) do
Enum.reduce(scrubbers, "", fn scrubber, signature ->
# If a scrubber does not have a version(e.g HtmlSanitizeEx.Scrubber) it is assumed it is always 0)
version = if Kernel.function_exported?(scrubber, :version, 0) do
# If a scrubber does not have a version(e.g HtmlSanitizeEx.Scrubber) it is assumed it is always 0)
version =
if Kernel.function_exported?(scrubber, :version, 0) do
scrubber.version
else
0
end
"#{signature}#{to_string(scrubber)}#{version}"
"#{signature}#{to_string(scrubber)}#{version}"
end)
end
end
......@@ -261,5 +261,4 @@ defmodule Pleroma.Web.CommonAPI.Utils do
}
end)
end
end
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment