aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorRoman Chvanikov <chvanikoff@pm.me>2020-07-09 20:21:30 +0300
committerRoman Chvanikov <chvanikoff@pm.me>2020-07-09 20:21:30 +0300
commit3fd780049b1be49c7716aff6821c037116b71bd8 (patch)
treed86cb4d3b345c0ea65f8911bfcf507ab6f6bbbb8 /lib
parent17a2ff57ac589b6fb996583f38f542b365b01ccf (diff)
downloadpleroma-3fd780049b1be49c7716aff6821c037116b71bd8.tar.gz
Fix preloads
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/web/controllers/frontend/pleroma_controller.ex29
1 files changed, 28 insertions, 1 deletions
diff --git a/lib/pleroma/web/controllers/frontend/pleroma_controller.ex b/lib/pleroma/web/controllers/frontend/pleroma_controller.ex
index bd2e73dd4..b1286be54 100644
--- a/lib/pleroma/web/controllers/frontend/pleroma_controller.ex
+++ b/lib/pleroma/web/controllers/frontend/pleroma_controller.ex
@@ -10,6 +10,7 @@ defmodule Pleroma.Web.Frontend.PleromaController do
alias Pleroma.User
alias Pleroma.Web.Metadata
+ alias Pleroma.Web.Preload
def index_with_meta(conn, %{"maybe_nickname_or_id" => maybe_nickname_or_id} = params) do
case User.get_cached_by_nickname_or_id(maybe_nickname_or_id) do
@@ -39,10 +40,36 @@ defmodule Pleroma.Web.Frontend.PleromaController do
""
end
- response = String.replace(index_content, "<!--server-generated-meta-->", tags)
+ preloads = preload_data(conn, params)
+
+ response = String.replace(index_content, "<!--server-generated-meta-->", tags <> preloads)
+
+ html(conn, response)
+ end
+
+ def index_with_preload(conn, params) do
+ {:ok, path} = index_file_path()
+ {:ok, index_content} = File.read(path)
+ preloads = preload_data(conn, params)
+
+ response = String.replace(index_content, "<!--server-generated-meta-->", preloads)
html(conn, response)
end
defdelegate registration_page(conn, params), to: __MODULE__, as: :index
+
+ defp preload_data(conn, params) do
+ try do
+ Preload.build_tags(conn, params)
+ rescue
+ e ->
+ Logger.error(
+ "Preloading for #{conn.request_path} failed.\n" <>
+ Exception.format(:error, e, __STACKTRACE__)
+ )
+
+ ""
+ end
+ end
end