From 1803d9a02241b70491273b4e449475f8ebe8ef0b Mon Sep 17 00:00:00 2001 From: William Pitcock Date: Wed, 20 Feb 2019 20:45:40 +0000 Subject: [PATCH] fix fetching AP objects with application/json --- lib/pleroma/web/ostatus/ostatus_controller.ex | 7 +++++-- lib/pleroma/web/router.ex | 8 ++++---- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/lib/pleroma/web/ostatus/ostatus_controller.ex b/lib/pleroma/web/ostatus/ostatus_controller.ex index bab3da2b0..ee2e3d6ec 100644 --- a/lib/pleroma/web/ostatus/ostatus_controller.ex +++ b/lib/pleroma/web/ostatus/ostatus_controller.ex @@ -33,6 +33,9 @@ def feed_redirect(conn, %{"nickname" => nickname}) 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 @@ def salmon_incoming(conn, _) 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 @@ def object(conn, %{"uuid" => uuid}) 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), diff --git a/lib/pleroma/web/router.ex b/lib/pleroma/web/router.ex index 357ed7843..a372610d4 100644 --- a/lib/pleroma/web/router.ex +++ b/lib/pleroma/web/router.ex @@ -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)