fix fetching AP objects with application/json
authorWilliam Pitcock <nenolod@dereferenced.org>
Wed, 20 Feb 2019 20:45:40 +0000 (20:45 +0000)
committerWilliam Pitcock <nenolod@dereferenced.org>
Wed, 20 Feb 2019 20:45:40 +0000 (20:45 +0000)
lib/pleroma/web/ostatus/ostatus_controller.ex
lib/pleroma/web/router.ex

index bab3da2b06f385f4906c6d4031623353d931677b..ee2e3d6ec38ea50c6e0e32e71b3a03a000673fea 100644 (file)
@@ -33,6 +33,9 @@ defmodule Pleroma.Web.OStatus.OStatusController do
       "activity+json" ->
         ActivityPubController.call(conn, :user)
 
+      "json" ->
+        ActivityPubController.call(conn, :user)
+
       _ ->
         with %User{} = user <- User.get_cached_by_nickname(nickname) do
           redirect(conn, external: OStatus.feed_path(user))
@@ -94,7 +97,7 @@ defmodule Pleroma.Web.OStatus.OStatusController do
   end
 
   def object(conn, %{"uuid" => uuid}) do
-    if get_format(conn) == "activity+json" do
+    if get_format(conn) in ["activity+json", "json"] do
       ActivityPubController.call(conn, :object)
     else
       with id <- o_status_url(conn, :object, uuid),
@@ -119,7 +122,7 @@ defmodule Pleroma.Web.OStatus.OStatusController do
   end
 
   def activity(conn, %{"uuid" => uuid}) do
-    if get_format(conn) == "activity+json" do
+    if get_format(conn) in ["activity+json", "json"] do
       ActivityPubController.call(conn, :activity)
     else
       with id <- o_status_url(conn, :activity, uuid),
index 357ed7843625a223fff6ad431c58311599a4aade..a372610d4dca1375f05d6b6fc3824eea2d4a64e9 100644 (file)
@@ -488,11 +488,11 @@ defmodule Pleroma.Web.Router do
   end
 
   pipeline :ap_relay do
-    plug(:accepts, ["activity+json"])
+    plug(:accepts, ["activity+json", "json"])
   end
 
   pipeline :ostatus do
-    plug(:accepts, ["html", "xml", "atom", "activity+json"])
+    plug(:accepts, ["html", "xml", "atom", "activity+json", "json"])
   end
 
   pipeline :oembed do
@@ -521,7 +521,7 @@ defmodule Pleroma.Web.Router do
   end
 
   pipeline :activitypub do
-    plug(:accepts, ["activity+json"])
+    plug(:accepts, ["activity+json", "json"])
     plug(Pleroma.Web.Plugs.HTTPSignaturePlug)
   end
 
@@ -536,7 +536,7 @@ defmodule Pleroma.Web.Router do
   end
 
   pipeline :activitypub_client do
-    plug(:accepts, ["activity+json"])
+    plug(:accepts, ["activity+json", "json"])
     plug(:fetch_session)
     plug(Pleroma.Plugs.OAuthPlug)
     plug(Pleroma.Plugs.BasicAuthDecoderPlug)