diff options
author | Haelwenn <contact+git.pleroma.social@hacktivis.me> | 2019-01-26 17:30:51 +0000 |
---|---|---|
committer | Haelwenn <contact+git.pleroma.social@hacktivis.me> | 2019-01-26 17:30:51 +0000 |
commit | 717579330427ed4f78ee578d008818c07106318f (patch) | |
tree | 3c83e62be0177e145cba86a6fe02c87ab98d8595 /lib | |
parent | c410fe960cfc599b7ce425ad341f172780093fcf (diff) | |
parent | 8f2f471e948160f96549ca9744cca56f940a8658 (diff) | |
download | pleroma-717579330427ed4f78ee578d008818c07106318f.tar.gz |
Merge branch 'hardening/mastodon-rich-media' into 'develop'
rich media: minor hardening
See merge request pleroma/pleroma!717
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pleroma/web/rich_media/parser.ex | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/lib/pleroma/web/rich_media/parser.ex b/lib/pleroma/web/rich_media/parser.ex index 6da83c6e4..947dc0c3c 100644 --- a/lib/pleroma/web/rich_media/parser.ex +++ b/lib/pleroma/web/rich_media/parser.ex @@ -5,11 +5,19 @@ defmodule Pleroma.Web.RichMedia.Parser do Pleroma.Web.RichMedia.Parsers.OEmbed ] + def parse(nil), do: {:error, "No URL provided"} + if Mix.env() == :test do def parse(url), do: parse_url(url) else - def parse(url), - do: Cachex.fetch!(:rich_media_cache, url, fn _ -> parse_url(url) end) + def parse(url) do + with {:ok, data} <- Cachex.fetch(:rich_media_cache, url, fn _ -> parse_url(url) end) do + data + else + _e -> + {:error, "Parsing error"} + end + end end defp parse_url(url) do |