diff options
| author | William Pitcock <nenolod@dereferenced.org> | 2018-11-17 22:10:15 +0000 | 
|---|---|---|
| committer | William Pitcock <nenolod@dereferenced.org> | 2018-11-17 22:10:15 +0000 | 
| commit | 98795172a76db8d3331015461a021092c75cae5d (patch) | |
| tree | 137d8ae7c819a4fbb82aae88cb826bd2ec3ec8bf /lib | |
| parent | d73c7cc0caf322316541fe8daf72ec34d95e1520 (diff) | |
| download | pleroma-98795172a76db8d3331015461a021092c75cae5d.tar.gz pleroma-98795172a76db8d3331015461a021092c75cae5d.zip  | |
ostatus controller: respond with AS2 objects instead of activities to notice URIs
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/pleroma/web/ostatus/ostatus_controller.ex | 17 | 
1 files changed, 14 insertions, 3 deletions
diff --git a/lib/pleroma/web/ostatus/ostatus_controller.ex b/lib/pleroma/web/ostatus/ostatus_controller.ex index 2f92935e7..34fdf9727 100644 --- a/lib/pleroma/web/ostatus/ostatus_controller.ex +++ b/lib/pleroma/web/ostatus/ostatus_controller.ex @@ -1,7 +1,7 @@  defmodule Pleroma.Web.OStatus.OStatusController do    use Pleroma.Web, :controller -  alias Pleroma.{User, Activity} +  alias Pleroma.{User, Activity, Object}    alias Pleroma.Web.OStatus.{FeedRepresenter, ActivityRepresenter}    alias Pleroma.Repo    alias Pleroma.Web.{OStatus, Federator} @@ -153,10 +153,21 @@ defmodule Pleroma.Web.OStatus.OStatusController do      end    end -  defp represent_activity(conn, "activity+json", activity, user) do +  defp represent_activity( +         conn, +         "activity+json", +         %Activity{data: %{"type" => "Create"}} = activity, +         user +       ) do +    object = Object.normalize(activity.data["object"]) +      conn      |> put_resp_header("content-type", "application/activity+json") -    |> json(ObjectView.render("object.json", %{object: activity})) +    |> json(ObjectView.render("object.json", %{object: object})) +  end + +  defp represent_activity(conn, "activity+json", _, _) do +    {:error, :not_found}    end    defp represent_activity(conn, _, activity, user) do  | 
