[Pleroma.Uploaders.Local]: Add configuration for custom url path
authorHaelwenn (lanodan) Monnier <contact@hacktivis.me>
Sat, 1 Sep 2018 15:14:14 +0000 (17:14 +0200)
committerHaelwenn (lanodan) Monnier <contact@hacktivis.me>
Sun, 2 Sep 2018 17:00:16 +0000 (19:00 +0200)
One use-case being an external caching proxy

config/config.exs
lib/pleroma/uploaders/local.ex

index b29300c3c906391de06ce02e8e5a34bfbc9e736a..3dd8ef284fd1decb23d015aa0bdec17bec6b0fb5 100644 (file)
@@ -14,7 +14,9 @@ config :pleroma, Pleroma.Upload,
   uploader: Pleroma.Uploaders.Local,
   strip_exif: false
 
-config :pleroma, Pleroma.Uploaders.Local, uploads: "uploads"
+config :pleroma, Pleroma.Uploaders.Local,
+  uploads: "uploads",
+  uploads_url: "{{base_url}}/media/{{file}}"
 
 config :pleroma, Pleroma.Uploaders.S3,
   bucket: nil,
index d4624661f9ec638468ffefb573700601c382ad5d..d96481c8d48707cc7afd808c01bbf5a2df737a1f 100644 (file)
@@ -42,6 +42,10 @@ defmodule Pleroma.Uploaders.Local do
   end
 
   defp url_for(file) do
-    "#{Web.base_url()}/media/#{file}"
+    settings = Application.get_env(:pleroma, Pleroma.Uploaders.Local)
+
+    Keyword.get(settings, :uploads_url)
+    |> String.replace("{{file}}", file)
+    |> String.replace("{{base_url}}", Web.base_url())
   end
 end