aboutsummaryrefslogtreecommitdiff
path: root/lib/pleroma/web/media_proxy
diff options
context:
space:
mode:
authorlain <lain@soykaf.club>2021-01-26 14:24:32 +0000
committerlain <lain@soykaf.club>2021-01-26 14:24:32 +0000
commit229acae6c3da541ebb0438cb7f310cdce1df92b3 (patch)
tree8b93f46ac090021e7e53db392ba54a3c48b31fda /lib/pleroma/web/media_proxy
parent71166b30a42ad3a8988049992bcab93c7e2ed656 (diff)
parent250e2020987b1fc65251ba9564e41b38ba060391 (diff)
downloadpleroma-229acae6c3da541ebb0438cb7f310cdce1df92b3.tar.gz
Merge branch 'develop' into '2435-list-multiple-users'
# Conflicts: # CHANGELOG.md
Diffstat (limited to 'lib/pleroma/web/media_proxy')
-rw-r--r--lib/pleroma/web/media_proxy/invalidation/script.ex19
1 files changed, 19 insertions, 0 deletions
diff --git a/lib/pleroma/web/media_proxy/invalidation/script.ex b/lib/pleroma/web/media_proxy/invalidation/script.ex
index 0f66c2fe3..87a21166c 100644
--- a/lib/pleroma/web/media_proxy/invalidation/script.ex
+++ b/lib/pleroma/web/media_proxy/invalidation/script.ex
@@ -13,6 +13,7 @@ defmodule Pleroma.Web.MediaProxy.Invalidation.Script do
def purge(urls, opts \\ []) do
args =
urls
+ |> maybe_format_urls(Keyword.get(opts, :url_format))
|> List.wrap()
|> Enum.uniq()
|> Enum.join(" ")
@@ -40,4 +41,22 @@ defmodule Pleroma.Web.MediaProxy.Invalidation.Script do
Logger.error("Error while cache purge: #{inspect(error)}")
{:error, inspect(error)}
end
+
+ def maybe_format_urls(urls, :htcacheclean) do
+ urls
+ |> Enum.map(fn url ->
+ uri = URI.parse(url)
+
+ query =
+ if !is_nil(uri.query) do
+ "?" <> uri.query
+ else
+ "?"
+ end
+
+ uri.scheme <> "://" <> uri.host <> ":#{inspect(uri.port)}" <> uri.path <> query
+ end)
+ end
+
+ def maybe_format_urls(urls, _), do: urls
end