rich media: gracefully handle fetching nil URIs

This commit is contained in:
William Pitcock 2019-01-26 16:26:11 +00:00
parent 155a884300
commit 8f2f471e94
1 changed files with 10 additions and 2 deletions

View File

@ -5,11 +5,19 @@ defmodule Pleroma.Web.RichMedia.Parser do
Pleroma.Web.RichMedia.Parsers.OEmbed Pleroma.Web.RichMedia.Parsers.OEmbed
] ]
def parse(nil), do: {:error, "No URL provided"}
if Mix.env() == :test do if Mix.env() == :test do
def parse(url), do: parse_url(url) def parse(url), do: parse_url(url)
else else
def parse(url), def parse(url) do
do: Cachex.fetch!(:rich_media_cache, url, fn _ -> parse_url(url) end) with {:ok, data} <- Cachex.fetch(:rich_media_cache, url, fn _ -> parse_url(url) end) do
data
else
_e ->
{:error, "Parsing error"}
end
end
end end
defp parse_url(url) do defp parse_url(url) do