Move construction of S3 base URL with optional namespace and bucket to Upload.base_url/0
Now we should have a correct base URL for S3 hosted objects throughout the codebase.
This commit is contained in:
parent
86dcfb4eb9
commit
e8bf060e6e
@ -245,6 +245,29 @@ defmodule Pleroma.Upload do
|
|||||||
Pleroma.Web.base_url() <> "/media/"
|
Pleroma.Web.base_url() <> "/media/"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
Pleroma.Uploaders.S3 ->
|
||||||
|
bucket = Config.get([Pleroma.Uploaders.S3, :bucket])
|
||||||
|
|
||||||
|
bucket_with_namespace =
|
||||||
|
cond do
|
||||||
|
truncated_namespace = Config.get([Pleroma.Uploaders.S3, :truncated_namespace]) ->
|
||||||
|
truncated_namespace
|
||||||
|
|
||||||
|
namespace = Config.get([Pleroma.Uploaders.S3, :bucket_namespace]) ->
|
||||||
|
namespace <> ":" <> bucket
|
||||||
|
|
||||||
|
true ->
|
||||||
|
bucket
|
||||||
|
end
|
||||||
|
|
||||||
|
cond do
|
||||||
|
!is_nil(public_endpoint) ->
|
||||||
|
Path.join([public_endpoint, bucket_with_namespace])
|
||||||
|
|
||||||
|
true ->
|
||||||
|
Path.join([upload_base_url, bucket_with_namespace])
|
||||||
|
end
|
||||||
|
|
||||||
_ ->
|
_ ->
|
||||||
cond do
|
cond do
|
||||||
!is_nil(public_endpoint) ->
|
!is_nil(public_endpoint) ->
|
||||||
|
@ -12,26 +12,10 @@ defmodule Pleroma.Uploaders.S3 do
|
|||||||
# links with less strict filenames
|
# links with less strict filenames
|
||||||
@impl true
|
@impl true
|
||||||
def get_file(file) do
|
def get_file(file) do
|
||||||
config = Config.get([__MODULE__])
|
|
||||||
bucket = Keyword.fetch!(config, :bucket)
|
|
||||||
|
|
||||||
bucket_with_namespace =
|
|
||||||
cond do
|
|
||||||
truncated_namespace = Keyword.get(config, :truncated_namespace) ->
|
|
||||||
truncated_namespace
|
|
||||||
|
|
||||||
namespace = Keyword.get(config, :bucket_namespace) ->
|
|
||||||
namespace <> ":" <> bucket
|
|
||||||
|
|
||||||
true ->
|
|
||||||
bucket
|
|
||||||
end
|
|
||||||
|
|
||||||
{:ok,
|
{:ok,
|
||||||
{:url,
|
{:url,
|
||||||
Path.join([
|
Path.join([
|
||||||
Pleroma.Upload.base_url(),
|
Pleroma.Upload.base_url(),
|
||||||
bucket_with_namespace,
|
|
||||||
strict_encode(URI.decode(file))
|
strict_encode(URI.decode(file))
|
||||||
])}}
|
])}}
|
||||||
end
|
end
|
||||||
|
Loading…
Reference in New Issue
Block a user