aboutsummaryrefslogtreecommitdiff
path: root/lib/pleroma/upload.ex
diff options
context:
space:
mode:
authorMark Felder <feld@feld.me>2021-01-08 17:24:19 -0600
committerMark Felder <feld@feld.me>2021-01-08 17:32:42 -0600
commite8bf060e6e55396e7a0dbb53dacbf470d8f56beb (patch)
tree180dd6d35422f7031b1aca8e2195a148155951b1 /lib/pleroma/upload.ex
parent86dcfb4eb990dc8d06f799663264655ce04d0d5d (diff)
downloadpleroma-e8bf060e6e55396e7a0dbb53dacbf470d8f56beb.tar.gz
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.
Diffstat (limited to 'lib/pleroma/upload.ex')
-rw-r--r--lib/pleroma/upload.ex23
1 files changed, 23 insertions, 0 deletions
diff --git a/lib/pleroma/upload.ex b/lib/pleroma/upload.ex
index 3061b2aed..a52b698bf 100644
--- a/lib/pleroma/upload.ex
+++ b/lib/pleroma/upload.ex
@@ -245,6 +245,29 @@ defmodule Pleroma.Upload 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) ->