diff options
author | Roman Chvanikov <chvanikoff@pm.me> | 2020-07-15 19:51:51 +0300 |
---|---|---|
committer | Roman Chvanikov <chvanikoff@pm.me> | 2020-07-15 19:51:51 +0300 |
commit | 6d3b93b60aa911a51a8d7366ad4afac6238577c7 (patch) | |
tree | 06a90347bca9f6e49ba643c454cd5155391be15c /lib | |
parent | f39908f00c64db784d38a98e09253b1f447c7a8a (diff) | |
download | pleroma-6d3b93b60aa911a51a8d7366ad4afac6238577c7.tar.gz |
cleanup
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pleroma/web/controllers/frontend/default_controller.ex | 51 |
1 files changed, 27 insertions, 24 deletions
diff --git a/lib/pleroma/web/controllers/frontend/default_controller.ex b/lib/pleroma/web/controllers/frontend/default_controller.ex index fe37b2cdb..a17277df4 100644 --- a/lib/pleroma/web/controllers/frontend/default_controller.ex +++ b/lib/pleroma/web/controllers/frontend/default_controller.ex @@ -20,35 +20,23 @@ defmodule Pleroma.Web.Frontend.DefaultController do end def index_with_meta(conn, params) do - {:ok, path} = fe_file_path("index.html") - {:ok, index_content} = File.read(path) - - tags = - try do - Pleroma.Web.Metadata.build_tags(params) - rescue - e -> - Logger.error( - "Metadata rendering for #{conn.request_path} failed.\n" <> - Exception.format(:error, e, __STACKTRACE__) - ) - - "" - end - - preloads = preload_data(conn, params) - - response = String.replace(index_content, "<!--server-generated-meta-->", tags <> preloads) - - html(conn, response) + index_with_generated_data(conn, params, [:metadata, :preload]) end def index_with_preload(conn, params) do + index_with_generated_data(conn, params, [:preload]) + end + + defp index_with_generated_data(conn, params, generators) do {:ok, path} = fe_file_path("index.html") {:ok, index_content} = File.read(path) - preloads = preload_data(conn, params) - response = String.replace(index_content, "<!--server-generated-meta-->", preloads) + generated = + Enum.reduce(generators, "", fn generator, acc -> + acc <> generate_data(conn, params, generator) + end) + + response = String.replace(index_content, "<!--server-generated-meta-->", generated) html(conn, response) end @@ -71,7 +59,7 @@ defmodule Pleroma.Web.Frontend.DefaultController do |> text("Not found") end - defp preload_data(conn, params) do + defp generate_data(conn, params, :preload) do try do Pleroma.Web.Preload.build_tags(conn, params) rescue @@ -85,6 +73,20 @@ defmodule Pleroma.Web.Frontend.DefaultController do end end + defp generate_data(conn, params, :metadata) do + try do + Pleroma.Web.Metadata.build_tags(params) + rescue + e -> + Logger.error( + "Metadata rendering for #{conn.request_path} failed.\n" <> + Exception.format(:error, e, __STACKTRACE__) + ) + + "" + end + end + defoverridable index: 2, index_with_meta: 2, index_with_preload: 2, @@ -94,3 +96,4 @@ defmodule Pleroma.Web.Frontend.DefaultController do end end end + |