aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/web/activity_pub/activity_pub.ex2
-rw-r--r--lib/pleroma/web/ostatus/ostatus_controller.ex15
-rw-r--r--lib/pleroma/web/router.ex4
3 files changed, 19 insertions, 2 deletions
diff --git a/lib/pleroma/web/activity_pub/activity_pub.ex b/lib/pleroma/web/activity_pub/activity_pub.ex
index 12d6912df..194a5ec3d 100644
--- a/lib/pleroma/web/activity_pub/activity_pub.ex
+++ b/lib/pleroma/web/activity_pub/activity_pub.ex
@@ -126,7 +126,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do
end
def generate_object_id do
- generate_id("objects")
+ Pleroma.Web.Router.Helpers.o_status_url(Pleroma.Web.Endpoint, :object, Ecto.UUID.generate)
end
def generate_id(type) do
diff --git a/lib/pleroma/web/ostatus/ostatus_controller.ex b/lib/pleroma/web/ostatus/ostatus_controller.ex
index 1c609f6f2..6a4199846 100644
--- a/lib/pleroma/web/ostatus/ostatus_controller.ex
+++ b/lib/pleroma/web/ostatus/ostatus_controller.ex
@@ -41,4 +41,19 @@ defmodule Pleroma.Web.OStatus.OStatusController do
conn
|> send_resp(200, "")
end
+
+ def object(conn, %{"uuid" => uuid}) do
+ IO.inspect(uuid)
+ id = o_status_url(conn, :object, uuid)
+ activity = Activity.get_create_activity_by_object_ap_id(id)
+ user = User.get_cached_by_ap_id(activity.data["actor"])
+
+ response = FeedRepresenter.to_simple_form(user, [activity], [user])
+ |> :xmerl.export_simple(:xmerl_xml)
+ |> to_string
+
+ conn
+ |> put_resp_content_type("application/atom+xml")
+ |> send_resp(200, response)
+ end
end
diff --git a/lib/pleroma/web/router.ex b/lib/pleroma/web/router.ex
index b0c1dcd91..ac9d97e0f 100644
--- a/lib/pleroma/web/router.ex
+++ b/lib/pleroma/web/router.ex
@@ -73,6 +73,8 @@ defmodule Pleroma.Web.Router do
scope "/", Pleroma.Web do
pipe_through :ostatus
+ get "/objects/:uuid", OStatus.OStatusController, :object
+
get "/users/:nickname/feed", OStatus.OStatusController, :feed
get "/users/:nickname", OStatus.OStatusController, :feed_redirect
post "/users/:nickname/salmon", OStatus.OStatusController, :salmon_incoming
@@ -96,5 +98,5 @@ end
defmodule Fallback.RedirectController do
use Pleroma.Web, :controller
- def redirector(conn, _params), do: send_file(conn, 200, "priv/static/index.html")
+ def redirector(conn, _params), do: (if Mix.env != :test, do: send_file(conn, 200, "priv/static/index.html"))
end