You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
60 lines
1.5 KiB
60 lines
1.5 KiB
defmodule ChirpWeb.Router do |
|
use ChirpWeb, :router |
|
|
|
pipeline :browser do |
|
plug :accepts, ["html"] |
|
plug :fetch_session |
|
plug :fetch_live_flash |
|
plug :put_root_layout, {ChirpWeb.LayoutView, :root} |
|
plug :protect_from_forgery |
|
plug :put_secure_browser_headers |
|
end |
|
|
|
pipeline :api do |
|
plug :accepts, ["json"] |
|
end |
|
|
|
scope "/", ChirpWeb do |
|
pipe_through :browser |
|
|
|
get "/", PageController, :index |
|
|
|
get "/hello", HelloController, :index |
|
|
|
live "/posts", PostLive.Index, :index |
|
live "/posts/new", PostLive.Index, :new |
|
live "/posts/:id/edit", PostLive.Index, :edit |
|
|
|
live "/posts/:id", PostLive.Show, :show |
|
live "/posts/:id/show/edit", PostLive.Show, :edit |
|
|
|
|
|
end |
|
|
|
# Other scopes may use custom stacks. |
|
# scope "/api", ChirpWeb do |
|
# pipe_through :api |
|
# end |
|
|
|
# Enable LiveDashboard and Swoosh mailbox preview in development |
|
if Application.compile_env(:chirp, :dev_routes) do |
|
# If you want to use the LiveDashboard in production, you should put |
|
# it behind authentication and allow only admins to access it. |
|
# If your application does not have an admins-only section yet, |
|
# you can use Plug.BasicAuth to set up some basic authentication |
|
# as long as you are also using SSL (which you should anyway). |
|
import Phoenix.LiveDashboard.Router |
|
|
|
scope "/" do |
|
pipe_through :browser |
|
|
|
live_dashboard "/dashboard", metrics: ChirpWeb.Telemetry |
|
end |
|
|
|
scope "/dev" do |
|
pipe_through :browser |
|
|
|
forward "/mailbox", Plug.Swoosh.MailboxPreview |
|
end |
|
end |
|
end
|
|
|