diff options
author | lain <lain@soykaf.club> | 2021-01-26 14:24:32 +0000 |
---|---|---|
committer | lain <lain@soykaf.club> | 2021-01-26 14:24:32 +0000 |
commit | 229acae6c3da541ebb0438cb7f310cdce1df92b3 (patch) | |
tree | 8b93f46ac090021e7e53db392ba54a3c48b31fda /lib/pleroma/web/media_proxy | |
parent | 71166b30a42ad3a8988049992bcab93c7e2ed656 (diff) | |
parent | 250e2020987b1fc65251ba9564e41b38ba060391 (diff) | |
download | pleroma-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.ex | 19 |
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 |