summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorClaudio Maradonna <penguyman@stronzi.org>2022-06-09 19:24:13 +0200
committerClaudio Maradonna <penguyman@stronzi.org>2022-07-07 06:29:15 +0200
commit98f268e5ecc5bab98c98270a582f8b3f0e3be4e8 (patch)
treed654efc3acc4f1b37678b1fd90c57d259e889d3a /lib
parent7c1af86f979ecebcd38995e5278fe2d59a36eda5 (diff)
downloadpleroma-98f268e5ecc5bab98c98270a582f8b3f0e3be4e8.tar.gz
pleroma-98f268e5ecc5bab98c98270a582f8b3f0e3be4e8.zip
ipfs: small refactor and more tests
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/uploaders/ipfs.ex24
1 files changed, 14 insertions, 10 deletions
diff --git a/lib/pleroma/uploaders/ipfs.ex b/lib/pleroma/uploaders/ipfs.ex
index 7a7481d81..9f6f26e2e 100644
--- a/lib/pleroma/uploaders/ipfs.ex
+++ b/lib/pleroma/uploaders/ipfs.ex
@@ -9,16 +9,24 @@ defmodule Pleroma.Uploaders.IPFS do
alias Pleroma.Config
alias Tesla.Multipart
- @placeholder "{CID}"
- def placeholder, do: @placeholder
-
- def get_final_url(method) do
+ defp get_final_url(method) do
config = Config.get([__MODULE__])
post_base_url = Keyword.get(config, :post_gateway_url)
Path.join([post_base_url, method])
end
+ def put_file_endpoint() do
+ get_final_url("/api/v0/add")
+ end
+
+ def delete_file_endpoint() do
+ get_final_url("/api/v0/files/rm")
+ end
+
+ @placeholder "{CID}"
+ def placeholder, do: @placeholder
+
@impl true
def get_file(file) do
b_url = Pleroma.Upload.base_url()
@@ -37,9 +45,7 @@ defmodule Pleroma.Uploaders.IPFS do
|> Multipart.add_content_type_param("charset=utf-8")
|> Multipart.add_file(upload.tempfile)
- final_url = get_final_url("/api/v0/add")
-
- case Pleroma.HTTP.post(final_url, mp, [], params: ["cid-version": "1"]) do
+ case Pleroma.HTTP.post(put_file_endpoint(), mp, [], params: ["cid-version": "1"]) do
{:ok, ret} ->
case Jason.decode(ret.body) do
{:ok, ret} ->
@@ -62,9 +68,7 @@ defmodule Pleroma.Uploaders.IPFS do
@impl true
def delete_file(file) do
- final_url = get_final_url("/api/v0/files/rm")
-
- case Pleroma.HTTP.post(final_url, "", [], params: [arg: file]) do
+ case Pleroma.HTTP.post(delete_file_endpoint(), "", [], params: [arg: file]) do
{:ok, %{status_code: 204}} -> :ok
error -> {:error, inspect(error)}
end