[#534] Updating external instances reachability on incoming federation.

This commit is contained in:
Ivan Tashkinov 2019-01-24 17:37:23 +03:00
commit 8654a591f0
9 changed files with 49 additions and 7 deletions

View file

@ -275,7 +275,8 @@ defmodule Pleroma.Web.Websub do
xml,
[
{"Content-Type", "application/atom+xml"},
{"X-Hub-Signature", "sha1=#{signature}"}
{"X-Hub-Signature", "sha1=#{signature}"},
{"referer", Pleroma.Web.Endpoint.url()}
]
) do
Instances.set_reachable(callback)

View file

@ -4,9 +4,11 @@
defmodule Pleroma.Web.Websub.WebsubController do
use Pleroma.Web, :controller
alias Pleroma.{Repo, User}
alias Pleroma.Web.{Websub, Federator}
alias Pleroma.Web.Websub.WebsubClientSubscription
require Logger
plug(
@ -18,6 +20,8 @@ defmodule Pleroma.Web.Websub.WebsubController do
]
)
plug(:set_requester_reachable when action in [:websub_incoming])
def websub_subscription_request(conn, %{"nickname" => nickname} = params) do
user = User.get_cached_by_nickname(nickname)
@ -92,4 +96,9 @@ defmodule Pleroma.Web.Websub.WebsubController do
|> send_resp(500, "Error")
end
end
defp set_requester_reachable(conn, _) do
Pleroma.Web.ControllerHelper.set_requester_reachable(conn)
conn
end
end