summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/pleroma/web/fallback/redirect_controller.ex33
1 files changed, 14 insertions, 19 deletions
diff --git a/lib/pleroma/web/fallback/redirect_controller.ex b/lib/pleroma/web/fallback/redirect_controller.ex
index 005a5da8b..4a0885fab 100644
--- a/lib/pleroma/web/fallback/redirect_controller.ex
+++ b/lib/pleroma/web/fallback/redirect_controller.ex
@@ -17,19 +17,24 @@ defmodule Pleroma.Web.Fallback.RedirectController do
|> json(%{error: "Not implemented"})
end
- def redirector(conn, _params, code \\ 200) do
- {:ok, index_content} = File.read(index_file_path())
-
+ def add_generated_metadata(page_content, extra \\ "") do
title = "<title>#{Pleroma.Config.get([:instance, :name])}</title>"
favicon = "<link rel='icon' href='#{Pleroma.Config.get([:instance, :favicon])}'>"
manifest = "<link rel='manifest' href='/manifest.json'>"
+ page_content
+ |> String.replace(
+ "<!--server-generated-meta-->",
+ title <> favicon <> manifest <> extra
+ )
+ end
+
+ def redirector(conn, _params, code \\ 200) do
+ {:ok, index_content} = File.read(index_file_path())
+
response =
index_content
- |> String.replace(
- "<!--server-generated-meta-->",
- title <> favicon <> manifest
- )
+ |> add_generated_metadata()
conn
|> put_resp_content_type("text/html")
@@ -47,19 +52,12 @@ defmodule Pleroma.Web.Fallback.RedirectController do
def redirector_with_meta(conn, params) do
{:ok, index_content} = File.read(index_file_path())
-
tags = build_tags(conn, params)
preloads = preload_data(conn, params)
- title = "<title>#{Pleroma.Config.get([:instance, :name])}</title>"
- favicon = "<link rel='icon' href='#{Pleroma.Config.get([:instance, :favicon])}'>"
- manifest = "<link rel='manifest' href='/manifest.json'>"
response =
index_content
- |> String.replace(
- "<!--server-generated-meta-->",
- tags <> preloads <> title <> favicon <> manifest
- )
+ |> add_generated_metadata(tags <> preloads)
conn
|> put_resp_content_type("text/html")
@@ -73,13 +71,10 @@ defmodule Pleroma.Web.Fallback.RedirectController do
def redirector_with_preload(conn, params) do
{:ok, index_content} = File.read(index_file_path())
preloads = preload_data(conn, params)
- title = "<title>#{Pleroma.Config.get([:instance, :name])}</title>"
- favicon = "<link rel='icon' href='#{Pleroma.Config.get([:instance, :favicon])}'>"
- manifest = "<link rel='manifest' href='/manifest.json'>"
response =
index_content
- |> String.replace("<!--server-generated-meta-->", preloads <> title <> favicon <> manifest)
+ |> add_generated_metadata(preloads)
conn
|> put_resp_content_type("text/html")