diff options
Diffstat (limited to 'lib/pleroma/web/websub/websub.ex')
-rw-r--r-- | lib/pleroma/web/websub/websub.ex | 20 |
1 files changed, 7 insertions, 13 deletions
diff --git a/lib/pleroma/web/websub/websub.ex b/lib/pleroma/web/websub/websub.ex index a5309ebd9..932bf1862 100644 --- a/lib/pleroma/web/websub/websub.ex +++ b/lib/pleroma/web/websub/websub.ex @@ -49,19 +49,13 @@ defmodule Pleroma.Web.Websub do |> :xmerl.export_simple(:xmerl_xml) |> to_string - signature = sign(sub.secret || "", response) - Logger.debug(fn -> "Pushing #{topic} to #{sub.callback}" end) - - Task.start(fn -> - with {:ok, %{status_code: code}} <- @httpoison.post(sub.callback, response, [ - {"Content-Type", "application/atom+xml"}, - {"X-Hub-Signature", "sha1=#{signature}"} - ], timeout: 10000, recv_timeout: 20000) do - Logger.debug(fn -> "Pushed to #{sub.callback}, code #{code}" end) - else e -> - Logger.debug(fn -> "Couldn't push to #{sub.callback}, #{inspect(e)}" end) - end - end) + data = %{ + xml: response, + topic: topic, + callback: sub.callback, + secret: sub.secret + } + Pleroma.Web.Federator.enqueue(:publish_single_websub, data) end) end |