1 defmodule Pleroma.Uploaders.Swift.Client do
4 @settings Application.get_env(:pleroma, Pleroma.Uploaders.Swift)
6 def process_url(url) do
8 [Keyword.fetch!(@settings, :storage_url), url],
13 def upload_file(filename, body, content_type) do
14 object_url = Keyword.fetch!(@settings, :object_url)
15 token = Pleroma.Uploaders.Swift.Keystone.get_token()
17 case put("#{filename}", body, "X-Auth-Token": token, "Content-Type": content_type) do
18 {:ok, %HTTPoison.Response{status_code: 201}} ->
19 {:ok, "#{object_url}/#{filename}"}
21 {:ok, %HTTPoison.Response{status_code: 401}} ->
22 {:error, "Unauthorized, Bad Token"}
25 {:error, "Swift Upload Error"}