Просмотр исходного кода

Merge branch 'cycles-router-api-routes' into 'develop'

Recompilation speedup: Pleroma.Web.get_api_routes/0 --> Pleroma.Web.Router.get_api_routes/0

See merge request pleroma/pleroma!3419
docs-asdf
feld 3 лет назад
Родитель
Сommit
8871ca5aa3
4 измененных файлов: 14 добавлений и 14 удалений
  1. +0
    -12
      lib/pleroma/web.ex
  2. +1
    -1
      lib/pleroma/web/plugs/frontend_static.ex
  3. +12
    -0
      lib/pleroma/web/router.ex
  4. +1
    -1
      test/pleroma/web/plugs/frontend_static_plug_test.exs

+ 0
- 12
lib/pleroma/web.ex Просмотреть файл

@@ -235,16 +235,4 @@ defmodule Pleroma.Web do
def base_url do def base_url do
Pleroma.Web.Endpoint.url() Pleroma.Web.Endpoint.url()
end 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 end

+ 1
- 1
lib/pleroma/web/plugs/frontend_static.ex Просмотреть файл

@@ -10,7 +10,7 @@ defmodule Pleroma.Web.Plugs.FrontendStatic do
""" """
@behaviour Plug @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 def file_path(path, frontend_type \\ :primary) do
if configuration = Pleroma.Config.get([:frontends, frontend_type]) do if configuration = Pleroma.Config.get([:frontends, frontend_type]) do


+ 12
- 0
lib/pleroma/web/router.ex Просмотреть файл

@@ -826,4 +826,16 @@ defmodule Pleroma.Web.Router do


options("/*path", RedirectController, :empty) options("/*path", RedirectController, :empty)
end 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 end

+ 1
- 1
test/pleroma/web/plugs/frontend_static_plug_test.exs Просмотреть файл

@@ -103,6 +103,6 @@ defmodule Pleroma.Web.Plugs.FrontendStaticPlugTest do
"check_password" "check_password"
] ]


assert expected_routes == Pleroma.Web.get_api_routes()
assert expected_routes == Pleroma.Web.Router.get_api_routes()
end end
end end

Загрузка…
Отмена
Сохранить