activitypub: factor out AP object fetching to it's own function and add ID-based...
[akkoma] / lib / pleroma / web / activity_pub / transmogrifier.ex
index d51d8626bebd9f9f1b3a5664cdd18292e4c7badc..1f886839e9c152cb11edfb9888bd5ba7643f008a 100644 (file)
@@ -50,6 +50,19 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier do
     end
   end
 
+  def contain_origin_from_id(id, %{"id" => nil}), do: :error
+
+  def contain_origin_from_id(id, %{"id" => other_id} = params) do
+    id_uri = URI.parse(id)
+    other_uri = URI.parse(other_id)
+
+    if id_uri.host == other_uri.host do
+      :ok
+    else
+      :error
+    end
+  end
+
   @doc """
   Modifies an incoming AP object (mastodon format) to our internal format.
   """