aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorWilliam Pitcock <nenolod@dereferenced.org>2019-01-26 16:26:11 +0000
committerWilliam Pitcock <nenolod@dereferenced.org>2019-01-26 16:36:17 +0000
commit8f2f471e948160f96549ca9744cca56f940a8658 (patch)
treeb2e08ee2c34b8865d95503c6b99963b3545c2776 /lib
parent155a88430027045fd9de79d7000bb083869f167f (diff)
downloadpleroma-8f2f471e948160f96549ca9744cca56f940a8658.tar.gz
rich media: gracefully handle fetching nil URIs
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/web/rich_media/parser.ex12
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