forked from AkkomaGang/akkoma
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
2 changed files with 23 additions and 16 deletions
|
@ -245,6 +245,29 @@ def base_url do
|
|||
Pleroma.Web.base_url() <> "/media/"
|
||||
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
|
||||
!is_nil(public_endpoint) ->
|
||||
|
|
|
@ -12,26 +12,10 @@ defmodule Pleroma.Uploaders.S3 do
|
|||
# links with less strict filenames
|
||||
@impl true
|
||||
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,
|
||||
{:url,
|
||||
Path.join([
|
||||
Pleroma.Upload.base_url(),
|
||||
bucket_with_namespace,
|
||||
strict_encode(URI.decode(file))
|
||||
])}}
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue