Better error handling for OstatusController.
[akkoma] / lib / pleroma / web / federator / federator.ex
index c4c18192ce925bc89e5447a3ffc2e0a26f52dbff..8ca530031dbc80708fa8d7c66b426b2eebbbd692 100644 (file)
@@ -5,6 +5,7 @@ defmodule Pleroma.Web.Federator do
   alias Pleroma.Web.{WebFinger, Websub}
   alias Pleroma.Web.ActivityPub.ActivityPub
   alias Pleroma.Web.ActivityPub.Transmogrifier
+  alias Pleroma.Web.ActivityPub.Utils
   require Logger
 
   @websub Application.get_env(:pleroma, :websub)
@@ -14,6 +15,10 @@ defmodule Pleroma.Web.Federator do
   @federating Keyword.get(@instance, :federating)
   @max_jobs 20
 
+  def init(args) do
+    {:ok, args}
+  end
+
   def start_link do
     spawn(fn ->
       # 1 minute
@@ -87,6 +92,8 @@ defmodule Pleroma.Web.Federator do
   def handle(:incoming_ap_doc, params) do
     Logger.info("Handling incoming AP activity")
 
+    params = Utils.normalize_params(params)
+
     with {:ok, _user} <- ap_enabled_actor(params["actor"]),
          nil <- Activity.get_by_ap_id(params["id"]),
          {:ok, _activity} <- Transmogrifier.handle_incoming(params) do