summaryrefslogtreecommitdiff
path: root/lib/pleroma
diff options
context:
space:
mode:
Diffstat (limited to 'lib/pleroma')
-rw-r--r--lib/pleroma/upload.ex6
-rw-r--r--lib/pleroma/uploaders/ipfs.ex14
2 files changed, 11 insertions, 9 deletions
diff --git a/lib/pleroma/upload.ex b/lib/pleroma/upload.ex
index de39bcd6c..b51d23f9e 100644
--- a/lib/pleroma/upload.ex
+++ b/lib/pleroma/upload.ex
@@ -235,10 +235,8 @@ defmodule Pleroma.Upload do
""
end
- uploader = Config.get([Pleroma.Upload, :uploader])
-
- if uploader == Pleroma.Uploaders.IPFS && String.contains?(base_url, "{CID}") do
- String.replace(base_url, "{CID}", path)
+ if String.contains?(base_url, "<%= cid %>") do
+ EEx.eval_string(base_url, cid: path)
else
[base_url, path]
|> Path.join()
diff --git a/lib/pleroma/uploaders/ipfs.ex b/lib/pleroma/uploaders/ipfs.ex
index b46e9322e..722c68fa1 100644
--- a/lib/pleroma/uploaders/ipfs.ex
+++ b/lib/pleroma/uploaders/ipfs.ex
@@ -13,10 +13,10 @@ defmodule Pleroma.Uploaders.IPFS do
def get_file(file) do
b_url = Pleroma.Upload.base_url()
- if String.contains?(b_url, "{CID}") do
- {:ok, {:url, String.replace(b_url, "{CID}", URI.decode(file))}}
+ if String.contains?(b_url, "<%= cid %>") do
+ {:ok, {:url, EEx.eval_string(b_url, cid: URI.decode(file))}}
else
- {:error, "IPFS Get URL doesn't contain '{CID}' placeholder"}
+ {:error, "IPFS Get URL doesn't contain 'cid' placeholder"}
end
end
@@ -36,7 +36,11 @@ defmodule Pleroma.Uploaders.IPFS do
{:ok, ret} ->
case Jason.decode(ret.body) do
{:ok, ret} ->
- {:ok, {:file, ret["Hash"]}}
+ if Map.has_key?(ret, "Hash") do
+ {:ok, {:file, ret["Hash"]}}
+ else
+ {:error, "JSON doesn't contain Hash value"}
+ end
error ->
Logger.error("#{__MODULE__}: #{inspect(error)}")
@@ -45,7 +49,7 @@ defmodule Pleroma.Uploaders.IPFS do
error ->
Logger.error("#{__MODULE__}: #{inspect(error)}")
- {:error, "IPFS Gateway Upload failed"}
+ {:error, "IPFS Gateway upload failed"}
end
end