summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Gleason <alex@alexgleason.me>2021-02-20 15:35:36 -0600
committerAlex Gleason <alex@alexgleason.me>2021-02-20 15:45:23 -0600
commitd2d9080d4c9fdae5f22d81a064a08fe0084b1208 (patch)
tree7c86b5fe643fcba6e3ca646e3dd59118a0497a11
parent8829a408ecf3bfffaf59af415817220fd63a81b7 (diff)
Fix YouTube embeds by rewriting http to https
-rw-r--r--lib/pleroma/web/rich_media/helpers.ex7
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/pleroma/web/rich_media/helpers.ex b/lib/pleroma/web/rich_media/helpers.ex
index 566fc8c8a..4d1c2dc9a 100644
--- a/lib/pleroma/web/rich_media/helpers.ex
+++ b/lib/pleroma/web/rich_media/helpers.ex
@@ -78,6 +78,13 @@ defmodule Pleroma.Web.RichMedia.Helpers do
def fetch_data_for_activity(_), do: %{}
+ # YouTube's oEmbed implementation is broken, requiring this hack.
+ # https://github.com/oscarotero/Embed/issues/417#issuecomment-746673027
+ def rich_media_get("http://www.youtube.com/oembed?" <> params) do
+ # Use HTTPS explicitly, even though YouTube returns HTTP
+ rich_media_get("https://www.youtube.com/oembed?#{params}")
+ end
+
def rich_media_get(url) do
headers = [{"user-agent", Pleroma.Application.user_agent() <> "; Bot"}]