diff options
author | Phil Hagelberg <phil@hagelb.org> | 2019-11-03 12:29:17 -0800 |
---|---|---|
committer | Phil Hagelberg <phil@hagelb.org> | 2019-11-09 18:08:08 -0800 |
commit | e8bee35578fbbc442657baa4dee0047906b247a9 (patch) | |
tree | bc705945a7c2eb25dff14950c8f6067f20e2dfef | |
parent | dc3b87d153415bee6a169b4c787f79dbee74c622 (diff) | |
download | pleroma-e8bee35578fbbc442657baa4dee0047906b247a9.tar.gz |
Static FE plug should only respond to text/html requests.
-rw-r--r-- | lib/pleroma/plugs/static_fe_plug.ex | 9 |
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 |