aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhil Hagelberg <phil@hagelb.org>2019-11-03 12:29:17 -0800
committerPhil Hagelberg <phil@hagelb.org>2019-11-09 18:08:08 -0800
commite8bee35578fbbc442657baa4dee0047906b247a9 (patch)
treebc705945a7c2eb25dff14950c8f6067f20e2dfef
parentdc3b87d153415bee6a169b4c787f79dbee74c622 (diff)
downloadpleroma-e8bee35578fbbc442657baa4dee0047906b247a9.tar.gz
Static FE plug should only respond to text/html requests.
-rw-r--r--lib/pleroma/plugs/static_fe_plug.ex9
1 files changed, 7 insertions, 2 deletions
diff --git a/lib/pleroma/plugs/static_fe_plug.ex b/lib/pleroma/plugs/static_fe_plug.ex
index d3abaf4cc..dcbabc9df 100644
--- a/lib/pleroma/plugs/static_fe_plug.ex
+++ b/lib/pleroma/plugs/static_fe_plug.ex
@@ -5,9 +5,14 @@
defmodule Pleroma.Plugs.StaticFEPlug do
def init(options), do: options
+ def accepts_html?({"accept", a}), do: String.contains?(a, "text/html")
+ def accepts_html?({_, _}), do: false
+
def call(conn, _) do
- case Pleroma.Config.get([:instance, :static_fe], false) do
- true -> Pleroma.Web.StaticFE.StaticFEController.call(conn, :show)
+ with true <- Pleroma.Config.get([:instance, :static_fe], false),
+ {_, _} <- Enum.find(conn.req_headers, &accepts_html?/1) do
+ Pleroma.Web.StaticFE.StaticFEController.call(conn, :show)
+ else
_ -> conn
end
end