mirror of
https://git.pleroma.social/pleroma/pleroma.git
synced 2025-04-24 13:57:23 -04:00
Send only required pieces of the %Plug.Conn{} through as it needs to get serialized to JSON
This commit is contained in:
parent
33efa1ad23
commit
3a9dc3d28c
3 changed files with 16 additions and 11 deletions
|
@ -284,7 +284,9 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubController do
|
|||
end
|
||||
|
||||
def inbox(conn, _params) do
|
||||
case Federator.incoming_ap_doc(conn) do
|
||||
conn_data = %{params: conn.params, req_headers: conn.req_headers}
|
||||
|
||||
case Federator.incoming_ap_doc(conn_data) do
|
||||
{:ok, %Oban.Job{}} ->
|
||||
json(conn, "ok")
|
||||
|
||||
|
|
|
@ -36,8 +36,8 @@ defmodule Pleroma.Web.Federator do
|
|||
|
||||
# Client API
|
||||
|
||||
def incoming_ap_doc(conn) do
|
||||
ReceiverWorker.enqueue("incoming_ap_doc", %{"conn" => conn})
|
||||
def incoming_ap_doc(conn_data) do
|
||||
ReceiverWorker.enqueue("incoming_ap_doc", %{"conn_data" => conn_data})
|
||||
end
|
||||
|
||||
@impl true
|
||||
|
|
|
@ -11,14 +11,17 @@ defmodule Pleroma.Workers.ReceiverWorker do
|
|||
|
||||
@impl Oban.Worker
|
||||
def perform(%Job{
|
||||
args: %{"op" => "incoming_ap_doc", "conn" => conn = %{params: %{"nickname" => nickname}}}
|
||||
args: %{
|
||||
"op" => "incoming_ap_doc",
|
||||
"conn_data" => conn_data = %{params: %{"nickname" => nickname}}
|
||||
}
|
||||
}) do
|
||||
with {:signature, true} <- {:signature, HTTPSignatures.validate_conn(conn)},
|
||||
with {:signature, true} <- {:signature, HTTPSignatures.validate_conn(conn_data)},
|
||||
{:nickname, %User{} = recipient} <- {:nickname, User.get_cached_by_nickname(nickname)},
|
||||
{:ok, %User{} = actor} <- User.get_or_fetch_by_ap_id(conn.params["actor"]),
|
||||
{:ok, %User{} = actor} <- User.get_or_fetch_by_ap_id(conn_data.params["actor"]),
|
||||
{:in_message, true} <-
|
||||
{:in_message, Utils.recipient_in_message(recipient, actor, conn.params)},
|
||||
split_params <- Utils.maybe_splice_recipient(recipient.ap_id, conn.params),
|
||||
{:in_message, Utils.recipient_in_message(recipient, actor, conn_data.params)},
|
||||
split_params <- Utils.maybe_splice_recipient(recipient.ap_id, conn_data.params),
|
||||
{:ok, res} <- Federator.perform(:incoming_ap_doc, split_params) do
|
||||
{:ok, res}
|
||||
else
|
||||
|
@ -26,9 +29,9 @@ defmodule Pleroma.Workers.ReceiverWorker do
|
|||
end
|
||||
end
|
||||
|
||||
def perform(%Job{args: %{"op" => "incoming_ap_doc", "conn" => conn}}) do
|
||||
with {:signature, true} <- {:signature, HTTPSignatures.validate_conn(conn)},
|
||||
{:ok, res} <- Federator.perform(:incoming_ap_doc, conn.params) do
|
||||
def perform(%Job{args: %{"op" => "incoming_ap_doc", "conn_data" => conn_data}}) do
|
||||
with {:signature, true} <- {:signature, HTTPSignatures.validate_conn(conn_data)},
|
||||
{:ok, res} <- Federator.perform(:incoming_ap_doc, conn_data.params) do
|
||||
{:ok, res}
|
||||
else
|
||||
e -> process_errors(e)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue