aboutsummaryrefslogtreecommitdiff
path: root/lib/pleroma/web
diff options
context:
space:
mode:
Diffstat (limited to 'lib/pleroma/web')
-rw-r--r--lib/pleroma/web/media_proxy/invalidation.ex26
-rw-r--r--lib/pleroma/web/media_proxy/invalidations/http.ex40
-rw-r--r--lib/pleroma/web/media_proxy/invalidations/script.ex41
3 files changed, 0 insertions, 107 deletions
diff --git a/lib/pleroma/web/media_proxy/invalidation.ex b/lib/pleroma/web/media_proxy/invalidation.ex
deleted file mode 100644
index c037ff13e..000000000
--- a/lib/pleroma/web/media_proxy/invalidation.ex
+++ /dev/null
@@ -1,26 +0,0 @@
-# Pleroma: A lightweight social networking server
-# Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/>
-# SPDX-License-Identifier: AGPL-3.0-only
-
-defmodule Pleroma.Web.MediaProxy.Invalidation do
- @moduledoc false
-
- @callback purge(list(String.t()), map()) :: {:ok, String.t()} | {:error, String.t()}
-
- alias Pleroma.Config
-
- @spec purge(list(String.t())) :: {:ok, String.t()} | {:error, String.t()}
- def purge(urls) do
- [:media_proxy, :invalidation, :enabled]
- |> Config.get()
- |> do_purge(urls)
- end
-
- defp do_purge(true, urls) do
- provider = Config.get([:media_proxy, :invalidation, :provider])
- options = Config.get(provider)
- provider.purge(urls, options)
- end
-
- defp do_purge(_, _), do: :ok
-end
diff --git a/lib/pleroma/web/media_proxy/invalidations/http.ex b/lib/pleroma/web/media_proxy/invalidations/http.ex
deleted file mode 100644
index 07248df6e..000000000
--- a/lib/pleroma/web/media_proxy/invalidations/http.ex
+++ /dev/null
@@ -1,40 +0,0 @@
-# Pleroma: A lightweight social networking server
-# Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/>
-# SPDX-License-Identifier: AGPL-3.0-only
-
-defmodule Pleroma.Web.MediaProxy.Invalidation.Http do
- @moduledoc false
- @behaviour Pleroma.Web.MediaProxy.Invalidation
-
- require Logger
-
- @impl Pleroma.Web.MediaProxy.Invalidation
- def purge(urls, opts) do
- method = Map.get(opts, :method, :purge)
- headers = Map.get(opts, :headers, [])
- options = Map.get(opts, :options, [])
-
- Logger.debug("Running cache purge: #{inspect(urls)}")
-
- Enum.each(urls, fn url ->
- with {:error, error} <- do_purge(method, url, headers, options) do
- Logger.error("Error while cache purge: url - #{url}, error: #{inspect(error)}")
- end
- end)
-
- {:ok, "success"}
- end
-
- defp do_purge(method, url, headers, options) do
- case Pleroma.HTTP.request(method, url, "", headers, options) do
- {:ok, %{status: status} = env} when 400 <= status and status < 500 ->
- {:error, env}
-
- {:error, error} = error ->
- error
-
- _ ->
- {:ok, "success"}
- end
- end
-end
diff --git a/lib/pleroma/web/media_proxy/invalidations/script.ex b/lib/pleroma/web/media_proxy/invalidations/script.ex
deleted file mode 100644
index 6be782132..000000000
--- a/lib/pleroma/web/media_proxy/invalidations/script.ex
+++ /dev/null
@@ -1,41 +0,0 @@
-# Pleroma: A lightweight social networking server
-# Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/>
-# SPDX-License-Identifier: AGPL-3.0-only
-
-defmodule Pleroma.Web.MediaProxy.Invalidation.Script do
- @moduledoc false
-
- @behaviour Pleroma.Web.MediaProxy.Invalidation
-
- require Logger
-
- @impl Pleroma.Web.MediaProxy.Invalidation
- def purge(urls, %{script_path: script_path} = _options) do
- args =
- urls
- |> List.wrap()
- |> Enum.uniq()
- |> Enum.join(" ")
-
- path = Path.expand(script_path)
-
- Logger.debug("Running cache purge: #{inspect(urls)}, #{path}")
-
- case do_purge(path, [args]) do
- {result, exit_status} when exit_status > 0 ->
- Logger.error("Error while cache purge: #{inspect(result)}")
- {:error, inspect(result)}
-
- _ ->
- {:ok, "success"}
- end
- end
-
- def purge(_, _), do: {:error, "not found script path"}
-
- defp do_purge(path, args) do
- System.cmd(path, args)
- rescue
- error -> {inspect(error), 1}
- end
-end