diff options
author | Lain Iwakura <lain@soykaf.club> | 2017-11-27 17:24:52 +0100 |
---|---|---|
committer | Lain Iwakura <lain@soykaf.club> | 2017-11-27 17:24:52 +0100 |
commit | c680ae581d028144ebea414b4137433ac7ca8e6a (patch) | |
tree | acbd95e8ab4c48332fbff75edf2b051be255639a /lib | |
parent | 89a8dc748525063afc673e49875d0b605df73d77 (diff) | |
download | pleroma-c680ae581d028144ebea414b4137433ac7ca8e6a.tar.gz |
Return xml notice at /notice path.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pleroma/web/ostatus/ostatus_controller.ex | 13 | ||||
-rw-r--r-- | lib/pleroma/web/router.ex | 1 |
2 files changed, 14 insertions, 0 deletions
diff --git a/lib/pleroma/web/ostatus/ostatus_controller.ex b/lib/pleroma/web/ostatus/ostatus_controller.ex index 1ac07546f..d442d16fd 100644 --- a/lib/pleroma/web/ostatus/ostatus_controller.ex +++ b/lib/pleroma/web/ostatus/ostatus_controller.ex @@ -86,6 +86,19 @@ defmodule Pleroma.Web.OStatus.OStatusController do end end + def notice(conn, %{"id" => id}) do + with %Activity{} = activity <- Repo.get(Activity, id), + %User{} = user <- User.get_cached_by_ap_id(activity.data["actor"]) do + case get_format(conn) do + "html" -> + conn + |> put_resp_content_type("text/html") + |> send_file(200, "priv/static/index.html") + _ -> represent_activity(conn, activity, user) + end + end + end + defp represent_activity(conn, activity, user) do response = activity |> ActivityRepresenter.to_simple_form(user, true) diff --git a/lib/pleroma/web/router.ex b/lib/pleroma/web/router.ex index f3c476fdc..6806e8a75 100644 --- a/lib/pleroma/web/router.ex +++ b/lib/pleroma/web/router.ex @@ -207,6 +207,7 @@ defmodule Pleroma.Web.Router do get "/objects/:uuid", OStatus.OStatusController, :object get "/activities/:uuid", OStatus.OStatusController, :activity + get "/notice/:id", OStatus.OStatusController, :notice get "/users/:nickname/feed", OStatus.OStatusController, :feed get "/users/:nickname", OStatus.OStatusController, :feed_redirect |