defmodule Pleroma.Web.Salmon do
+ @httpoison Application.get_env(:pleroma, :httpoison)
+
use Bitwise
alias Pleroma.Web.XML
alias Pleroma.Web.OStatus.ActivityRepresenter
|> Enum.map(&Base.url_encode64/1)
|> Enum.join(".")
- signature = :public_key.sign(signed_text, :sha256, private_key) |> to_string |> Base.url_encode64
- doc_base64= doc |> Base.url_encode64
+ signature = signed_text
+ |> :public_key.sign(:sha256, private_key)
+ |> to_string
+ |> Base.url_encode64
+
+ doc_base64 = doc
+ |> Base.url_encode64
# Don't need proper xml building, these strings are safe to leave unescaped
salmon = """
defp send_to_user(_,_,_), do: nil
- def publish(user, activity, poster \\ &HTTPoison.post/3)
+ def publish(user, activity, poster \\ &@httpoison.post/3)
def publish(%{info: %{"keys" => keys}} = user, activity, poster) do
feed = ActivityRepresenter.to_simple_form(activity, user, true)
|> ActivityRepresenter.wrap_with_entry
remote_users(activity)
|> Enum.each(fn(remote_user) ->
- Logger.debug("sending salmon to #{remote_user.ap_id}")
- send_to_user(remote_user, feed, poster)
+ Task.start(fn ->
+ Logger.debug(fn -> "sending salmon to #{remote_user.ap_id}" end)
+ send_to_user(remote_user, feed, poster)
+ end)
end)
end
end
- def publish(%{id: id}, _, _), do: Logger.debug("Keys missing for user #{id}")
+ def publish(%{id: id}, _, _), do: Logger.debug(fn -> "Keys missing for user #{id}" end)
end