alias Pleroma.{User, Activity, Object}
alias Pleroma.Web.OStatus.{FeedRepresenter, ActivityRepresenter}
alias Pleroma.Repo
- alias Pleroma.Web.{OStatus, Federator}
+ alias Pleroma.Web.{OStatus, Federator, Metadata}
alias Pleroma.Web.XML
alias Pleroma.Web.ActivityPub.ObjectView
alias Pleroma.Web.ActivityPub.ActivityPubController
%User{} = user <- User.get_cached_by_ap_id(activity.data["actor"]) do
case format = get_format(conn) do
"html" ->
- conn
- |> put_resp_content_type("text/html")
- |> send_file(200, Application.app_dir(:pleroma, "priv/static/index.html"))
+ serve_static_with_meta(conn, activity, user)
_ ->
represent_activity(conn, format, activity, user)
end
end
+ defp serve_static_with_meta(conn, activity, user) do
+ {:ok, index_content } = File.read(Application.app_dir(:pleroma, "priv/static/index.html"))
+ tags = Metadata.build_tags(activity, user, request_url(conn))
+ response = String.replace(index_content, "<!--server-generated-meta-->", tags)
+ conn
+ |> put_resp_content_type("text/html")
+ |> send_resp(200, response)
+ end
+
defp represent_activity(
conn,
"activity+json",