aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorMaksim Pechnikov <parallel588@gmail.com>2020-04-13 06:53:45 +0300
committerMaksim Pechnikov <parallel588@gmail.com>2020-04-13 07:02:57 +0300
commitc5c09fc61b7b6e591e9de23028e5caea8f26b996 (patch)
tree45e7f9c1688e42c3d0de338e2e821e1118a68ec4 /lib
parent5e365448f3fed98da0395ad69c9325795a85a12d (diff)
downloadpleroma-c5c09fc61b7b6e591e9de23028e5caea8f26b996.tar.gz
fix mediaType of object
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/web/activity_pub/transmogrifier.ex21
1 files changed, 17 insertions, 4 deletions
diff --git a/lib/pleroma/web/activity_pub/transmogrifier.ex b/lib/pleroma/web/activity_pub/transmogrifier.ex
index 39feae285..17e3c203a 100644
--- a/lib/pleroma/web/activity_pub/transmogrifier.ex
+++ b/lib/pleroma/web/activity_pub/transmogrifier.ex
@@ -35,6 +35,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier do
|> fix_actor
|> fix_url
|> fix_attachments
+ |> fix_media_type
|> fix_context
|> fix_in_reply_to(options)
|> fix_emoji
@@ -357,6 +358,12 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier do
def fix_type(object, _), do: object
+ defp fix_media_type(%{"mediaType" => _} = object) do
+ Map.put(object, "mediaType", "text/html")
+ end
+
+ defp fix_media_type(object), do: object
+
defp mastodon_follow_hack(%{"id" => id, "actor" => follower_id}, followed) do
with true <- id =~ "follows",
%User{local: true} = follower <- User.get_cached_by_ap_id(follower_id),
@@ -1207,18 +1214,24 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier do
def prepare_attachments(object) do
attachments =
- (object["attachment"] || [])
+ object
+ |> Map.get("attachment", [])
|> Enum.map(fn data ->
[%{"mediaType" => media_type, "href" => href} | _] = data["url"]
- %{"url" => href, "mediaType" => media_type, "name" => data["name"], "type" => "Document"}
+
+ %{
+ "url" => href,
+ "mediaType" => media_type,
+ "name" => data["name"],
+ "type" => "Document"
+ }
end)
Map.put(object, "attachment", attachments)
end
def strip_internal_fields(object) do
- object
- |> Map.drop(Pleroma.Constants.object_internal_fields())
+ Map.drop(object, Pleroma.Constants.object_internal_fields())
end
defp strip_internal_tags(%{"tag" => tags} = object) do