diff options
author | rinpatch <rinpatch@sdf.org> | 2019-07-08 12:59:49 +0300 |
---|---|---|
committer | rinpatch <rinpatch@sdf.org> | 2019-07-08 12:59:49 +0300 |
commit | 9e58d3c62471d5a9c0230a9ada19efc2722ff46a (patch) | |
tree | f5c5b257802f20dd9c8656abb82cb08311c6beab /lib | |
parent | 7f609ee8f4608b25428f070e54db2346a69fb239 (diff) | |
download | pleroma-9e58d3c62471d5a9c0230a9ada19efc2722ff46a.tar.gz |
FallbackRedirector: Do not crash on Metadata rendering errors
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pleroma/web/router.ex | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/lib/pleroma/web/router.ex b/lib/pleroma/web/router.ex index 055289dc5..ff9ed1640 100644 --- a/lib/pleroma/web/router.ex +++ b/lib/pleroma/web/router.ex @@ -724,6 +724,7 @@ end defmodule Fallback.RedirectController do use Pleroma.Web, :controller + require Logger alias Pleroma.User alias Pleroma.Web.Metadata @@ -750,7 +751,20 @@ defmodule Fallback.RedirectController do def redirector_with_meta(conn, params) do {:ok, index_content} = File.read(index_file_path()) - tags = Metadata.build_tags(params) + + tags = + try do + Metadata.build_tags(params) + rescue + e -> + Logger.error( + "Metadata rendering for #{conn.request_path} failed.\n" <> + Exception.format(:error, e, __STACKTRACE__) + ) + + "" + end + response = String.replace(index_content, "<!--server-generated-meta-->", tags) conn |