summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Gleason <alex@alexgleason.me>2021-05-13 16:43:50 -0500
committerAlex Gleason <alex@alexgleason.me>2021-05-13 16:43:50 -0500
commitfaaca43acf4a7bd0f71ddabc0a617e7802e3f07e (patch)
tree5d1dea4ee1ca4fd2360b216f1a5585525cc43079
parent199747397935610d5c4232ab96c4be841116409a (diff)
Fall back to discovery when OEmbed is invalid
-rw-r--r--lib/pleroma/web/rich_media/parser.ex4
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/pleroma/web/rich_media/parser.ex b/lib/pleroma/web/rich_media/parser.ex
index 0532e51ad..10c7a3465 100644
--- a/lib/pleroma/web/rich_media/parser.ex
+++ b/lib/pleroma/web/rich_media/parser.ex
@@ -4,6 +4,7 @@
defmodule Pleroma.Web.RichMedia.Parser do
require Logger
+ alias Pleroma.Web.RichMedia.Parser.Card
alias Pleroma.Web.RichMedia.Parser.Embed
@cachex Pleroma.Config.get([:cachex, :provider], Cachex)
@@ -144,7 +145,8 @@ defmodule Pleroma.Web.RichMedia.Parser do
{:ok, %Tesla.Env{body: json}} <-
Pleroma.Web.RichMedia.Helpers.oembed_get(oembed_url),
{:ok, data} <- Jason.decode(json),
- embed <- %Embed{url: url, oembed: data} do
+ embed <- %Embed{url: url, oembed: data},
+ {:ok, %Card{}} <- Card.validate(embed) do
{:ok, embed}
else
{:error, error} -> {:error, error}