More places we should be using Upload.base_url

This commit is contained in:
Mark Felder 2021-01-08 17:05:55 -06:00
parent 530fb5b29e
commit 86dcfb4eb9
3 changed files with 11 additions and 15 deletions

View file

@ -69,7 +69,7 @@ defmodule Pleroma.Web.MediaProxy do
# non-local non-whitelisted URLs through it and be sure that body size constraint is preserved.
def preview_enabled?, do: enabled?() and !!Config.get([:media_preview_proxy, :enabled])
def local?(url), do: String.starts_with?(url, Pleroma.Web.base_url())
def local?(url), do: String.starts_with?(url, Upload.base_url())
def whitelisted?(url) do
%{host: domain} = URI.parse(url)
@ -80,11 +80,13 @@ defmodule Pleroma.Web.MediaProxy do
|> Enum.map(&maybe_get_domain_from_url/1)
whitelist_domains =
if base_url = Config.get([Upload, :base_url]) do
%{host: base_domain} = URI.parse(base_url)
[base_domain | mediaproxy_whitelist_domains]
else
cond do
Web.base_url() == Upload.base_url() ->
mediaproxy_whitelist_domains
true ->
%{host: base_domain} = URI.parse(Upload.base_url())
[base_domain | mediaproxy_whitelist_domains]
end
domain in whitelist_domains

View file

@ -62,7 +62,7 @@ defmodule Pleroma.Web.Plugs.UploadedMedia do
def call(conn, _opts), do: conn
defp media_is_banned(%{request_path: path} = _conn, {:static_dir, _}) do
MediaProxy.in_banned_urls(Pleroma.Web.base_url() <> path)
MediaProxy.in_banned_urls(Pleroma.Upload.base_url() <> path)
end
defp media_is_banned(_, {:url, url}), do: MediaProxy.in_banned_urls(url)

View file

@ -32,21 +32,15 @@ defmodule Pleroma.Workers.AttachmentsCleanupWorker do
defp do_clean({object_ids, attachment_urls}) do
uploader = Pleroma.Config.get([Pleroma.Upload, :uploader])
prefix =
case Pleroma.Config.get([Pleroma.Upload, :base_url]) do
nil -> "media"
_ -> ""
end
base_url =
String.trim_trailing(
Pleroma.Config.get([Pleroma.Upload, :base_url], Pleroma.Web.base_url()),
Pleroma.Upload.base_url(),
"/"
)
Enum.each(attachment_urls, fn href ->
href
|> String.trim_leading("#{base_url}/#{prefix}")
|> String.trim_leading("#{base_url}")
|> uploader.delete_file()
end)