У меня есть модуль маршрутизатора, который пересылает запрос другим маршрутизаторам.В этом маршрутизаторе у меня есть пиплайн, состоящий из plug(:match)
и plug(:dispatch)
.
defmodule Example.Router do
use Plug.Router
plug(:match)
plug(:dispatch)
forward("/check", to: Example.Route.Check)
get("/", do: send_resp(conn, 200, "router"))
end
Во втором модуле у меня тот же конвейер:
defmodule Example.Route.Check do
use Plug.Router
plug(:match)
plug(:dispatch)
get "/", do: send_resp(conn, 200, "ok")
end
Проблема, которую я вижу здесь, заключается в том, что мне всегда нужны plug(:match)
и plug(:dispatch)
во всех Plug
роутерах.Поэтому у меня есть следующие вопросы:
- Это действительно необходимо?
- Все ли маршрутизаторы должны иметь конвейер в одном файле с маршрутами?