purge chat and shout endpoints
[akkoma] / lib / pleroma / web / endpoint.ex
index 705035845d0921badfb112052351298ba39832ea..2e7e9692eef4ff39cff0fe228bec4715c14e0475 100644 (file)
@@ -1,5 +1,5 @@
 # Pleroma: A lightweight social networking server
-# Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/>
+# Copyright © 2017-2021 Pleroma Authors <https://pleroma.social/>
 # SPDX-License-Identifier: AGPL-3.0-only
 
 defmodule Pleroma.Web.Endpoint do
@@ -9,9 +9,7 @@ defmodule Pleroma.Web.Endpoint do
 
   alias Pleroma.Config
 
-  socket("/socket", Pleroma.Web.UserSocket)
-
-  plug(Plug.Telemetry, event_prefix: [:phoenix, :endpoint])
+  socket("/live", Phoenix.LiveView.Socket)
 
   plug(Pleroma.Web.Plugs.SetLocalePlug)
   plug(CORSPlug)
@@ -23,6 +21,18 @@ defmodule Pleroma.Web.Endpoint do
   # InstanceStatic needs to be before Plug.Static to be able to override shipped-static files
   # If you're adding new paths to `only:` you'll need to configure them in InstanceStatic as well
   # Cache-control headers are duplicated in case we turn off etags in the future
+  plug(
+    Pleroma.Web.Plugs.InstanceStatic,
+    at: "/",
+    from: :pleroma,
+    only: ["emoji", "images"],
+    gzip: true,
+    cache_control_for_etags: "public, max-age=1209600",
+    headers: %{
+      "cache-control" => "public, max-age=1209600"
+    }
+  )
+
   plug(Pleroma.Web.Plugs.InstanceStatic,
     at: "/",
     gzip: true,
@@ -55,6 +65,29 @@ defmodule Pleroma.Web.Endpoint do
     }
   )
 
+  plug(Plug.Static.IndexHtml, at: "/akkoma/swaggerui")
+
+  plug(Pleroma.Web.Plugs.FrontendStatic,
+    at: "/akkoma/swaggerui",
+    frontend_type: :swagger,
+    gzip: true,
+    if: &Pleroma.Web.Swagger.ui_enabled?/0,
+    cache_control_for_etags: @static_cache_control,
+    headers: %{
+      "cache-control" => @static_cache_control
+    }
+  )
+
+  plug(Pleroma.Web.Plugs.FrontendStatic,
+    at: "/",
+    frontend_type: :mastodon,
+    gzip: true,
+    cache_control_for_etags: @static_cache_control,
+    headers: %{
+      "cache-control" => @static_cache_control
+    }
+  )
+
   # Serve at "/" the static files from "priv/static" directory.
   #
   # You should set gzip to true if you are running phoenix.digest
@@ -169,8 +202,6 @@ defmodule Pleroma.Web.Endpoint do
 
   plug(MetricsExporterCaller)
 
-  plug(Pleroma.Web.Plugs.ConfirmUserPlug)
-
   plug(Pleroma.Web.Router)
 
   @doc """