diff options
author | Roger Braun <roger@rogerbraun.net> | 2017-06-23 16:37:34 +0200 |
---|---|---|
committer | Roger Braun <roger@rogerbraun.net> | 2017-06-23 16:37:34 +0200 |
commit | ffc9d7708b3917a3a853cd54c13bbd6d0b3b9ba6 (patch) | |
tree | 0fa4bf49bfb0e80bb951c9b15129c3dc211d4878 /lib/pleroma/web/websub/websub.ex | |
parent | 6ee0ca21e2f449e9bf8ef36d37233081ea981b32 (diff) | |
download | pleroma-ffc9d7708b3917a3a853cd54c13bbd6d0b3b9ba6.tar.gz |
Handle webpubs in queue.
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 |