diff options
| -rw-r--r-- | config/description.exs | 4 | ||||
| -rw-r--r-- | docs/configuration/cheatsheet.md | 2 | ||||
| -rw-r--r-- | lib/pleroma/upload.ex | 4 | ||||
| -rw-r--r-- | lib/pleroma/uploaders/ipfs.ex | 7 | ||||
| -rw-r--r-- | test/pleroma/uploaders/ipfs_test.exs | 4 | 
5 files changed, 12 insertions, 9 deletions
diff --git a/config/description.exs b/config/description.exs index 1fe5f01f0..b180e7308 100644 --- a/config/description.exs +++ b/config/description.exs @@ -147,8 +147,8 @@ config :pleroma, :config_description, [          type: :string,          description: "GET Gateway URL",          suggestions: [ -          "https://ipfs.mydomain.com/<%= cid %>", -          "https://<%= cid %>.ipfs.mydomain.com/" +          "https://ipfs.mydomain.com/{CID}", +          "https://{CID}.ipfs.mydomain.com/"          ]        },        %{ diff --git a/docs/configuration/cheatsheet.md b/docs/configuration/cheatsheet.md index 7e1f9c934..d35b33574 100644 --- a/docs/configuration/cheatsheet.md +++ b/docs/configuration/cheatsheet.md @@ -624,7 +624,7 @@ Example:  ```elixir  config :pleroma, Pleroma.Uploaders.IPFS,    post_gateway_url: "http://localhost:5001", -  get_gateway_url: "http://<%= cid %>.ipfs.mydomain.com" +  get_gateway_url: "http://{CID}.ipfs.mydomain.com"  ```  ### Upload filters diff --git a/lib/pleroma/upload.ex b/lib/pleroma/upload.ex index b51d23f9e..8a01cf613 100644 --- a/lib/pleroma/upload.ex +++ b/lib/pleroma/upload.ex @@ -235,8 +235,8 @@ defmodule Pleroma.Upload do            ""          end -    if String.contains?(base_url, "<%= cid %>") do -      EEx.eval_string(base_url, cid: path) +    if String.contains?(base_url, Pleroma.Uploaders.IPFS.placeholder()) do +      String.replace(base_url, Pleroma.Uploaders.IPFS.placeholder(), path)      else        [base_url, path]        |> Path.join() diff --git a/lib/pleroma/uploaders/ipfs.ex b/lib/pleroma/uploaders/ipfs.ex index 722c68fa1..dde520d8e 100644 --- a/lib/pleroma/uploaders/ipfs.ex +++ b/lib/pleroma/uploaders/ipfs.ex @@ -9,12 +9,15 @@ defmodule Pleroma.Uploaders.IPFS do    alias Pleroma.Config    alias Tesla.Multipart +  @placeholder "{CID}" +  def placeholder, do: @placeholder +    @impl true    def get_file(file) do      b_url = Pleroma.Upload.base_url() -    if String.contains?(b_url, "<%= cid %>") do -      {:ok, {:url, EEx.eval_string(b_url, cid: URI.decode(file))}} +    if String.contains?(b_url, @placeholder) do +      {:ok, {:url, String.replace(b_url, @placeholder, URI.decode(file))}}      else        {:error, "IPFS Get URL doesn't contain 'cid' placeholder"}      end diff --git a/test/pleroma/uploaders/ipfs_test.exs b/test/pleroma/uploaders/ipfs_test.exs index f9ae046cf..fc87fa378 100644 --- a/test/pleroma/uploaders/ipfs_test.exs +++ b/test/pleroma/uploaders/ipfs_test.exs @@ -17,7 +17,7 @@ defmodule Pleroma.Uploaders.IPFSTest do      clear_config(        [Pleroma.Uploaders.IPFS, :get_gateway_url], -      "https://<%= cid %>.ipfs.mydomain.com" +      "https://{CID}.ipfs.mydomain.com"      )      clear_config([Pleroma.Uploaders.IPFS, :post_gateway_url], "http://localhost:5001") @@ -34,7 +34,7 @@ defmodule Pleroma.Uploaders.IPFSTest do      test "it returns path to ipfs file with cid as path" do        clear_config(          [Pleroma.Uploaders.IPFS, :get_gateway_url], -        "https://ipfs.mydomain.com/ipfs/<%= cid %>" +        "https://ipfs.mydomain.com/ipfs/{CID}"        )        assert IPFS.get_file("testcid") == {  | 
