Verified Commit c23b81e3 authored by Alex Gleason's avatar Alex Gleason
Browse files

Pleroma.Web.get_api_routes/0 --> Pleroma.Web.Router.get_api_routes/0

Reduce recompilation time by breaking compile-time cycles
parent b221d77a
......@@ -233,16 +233,4 @@ defmacro __using__(which) when is_atom(which) do
def base_url do
Pleroma.Web.Endpoint.url()
end
# TODO: Change to Phoenix.Router.routes/1 for Phoenix 1.6.0+
def get_api_routes do
Pleroma.Web.Router.__routes__()
|> Enum.reject(fn r -> r.plug == Pleroma.Web.Fallback.RedirectController end)
|> Enum.map(fn r ->
r.path
|> String.split("/", trim: true)
|> List.first()
end)
|> Enum.uniq()
end
end
......@@ -10,7 +10,7 @@ defmodule Pleroma.Web.Plugs.FrontendStatic do
"""
@behaviour Plug
@api_routes Pleroma.Web.get_api_routes()
@api_routes Pleroma.Web.Router.get_api_routes()
def file_path(path, frontend_type \\ :primary) do
if configuration = Pleroma.Config.get([:frontends, frontend_type]) do
......
......@@ -821,4 +821,16 @@ defmodule Pleroma.Web.Router do
options("/*path", RedirectController, :empty)
end
# TODO: Change to Phoenix.Router.routes/1 for Phoenix 1.6.0+
def get_api_routes do
__MODULE__.__routes__()
|> Enum.reject(fn r -> r.plug == Pleroma.Web.Fallback.RedirectController end)
|> Enum.map(fn r ->
r.path
|> String.split("/", trim: true)
|> List.first()
end)
|> Enum.uniq()
end
end
......@@ -103,6 +103,6 @@ test "api routes are detected correctly" do
"check_password"
]
assert expected_routes == Pleroma.Web.get_api_routes()
assert expected_routes == Pleroma.Web.Router.get_api_routes()
end
end
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment