diff options
author | Mark Felder <feld@feld.me> | 2021-01-08 17:24:19 -0600 |
---|---|---|
committer | Mark Felder <feld@feld.me> | 2021-01-08 17:32:42 -0600 |
commit | e8bf060e6e55396e7a0dbb53dacbf470d8f56beb (patch) | |
tree | 180dd6d35422f7031b1aca8e2195a148155951b1 /lib/pleroma/upload.ex | |
parent | 86dcfb4eb990dc8d06f799663264655ce04d0d5d (diff) | |
download | pleroma-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.ex | 23 |
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) -> |