Current section
Files
Jump to
Current section
Files
lib/router.ex
defmodule ExWeb.Router do
require Logger
defmacro __using__(opts) do
quote do
use Plug.ErrorHandler
def render(conn, module, page \\ :index, assigns \\ %{})
def render(conn, module, page, assigns) do
ExWeb.render(conn, module, page, assigns)
end
def render_if_failed(conn, module, page \\ :index, assigns \\ %{})
def render_if_failed(conn, module, page, assigns) do
ExWeb.render_if_failed(conn, module, page, assigns)
end
def render_if_successful(conn, module, page \\ :index, assigns \\ %{})
def render_if_successful(conn, module, page, assigns) do
ExWeb.render_if_successful(conn, module, page, assigns)
end
def redirect_to(conn, url, params \\ %{}, body \\ nil) do
ExWeb.redirect_to(conn, url, params, body)
end
def redirect_to_if_successful(conn, url, params \\ %{}, body \\ nil) do
ExWeb.redirect_to_if_successful(conn, url, params, body)
end
def redirect_to_if_failed(conn, url, params \\ %{}, body \\ nil) do
ExWeb.redirect_to_if_failed(conn, url, params, body)
end
def validate(conn, module, function, commit_function) do
ExWeb.validate(conn, module, function, commit_function)
end
def forms(conn, module, form) do
ExWeb.forms(conn, module, form)
end
def add_url_for(%{assigns: assigns} = conn, url, opts \\ []) do
ExWeb.add_url_for(conn, url, opts)
end
def handle_errors(%{state: :sent} = conn, _) do
conn
end
def handle_errors(conn, %{kind: _, reason: %FunctionClauseError{arity: 4, function: :do_match, module: unquote(__CALLER__.module)}, stack: _}) do
ExWeb.Errors.render(conn, 404)
end
def handle_errors(conn, %{kind: kind, reason: reason, stack: stack}) do
ExWeb.Errors.render(conn, 500)
end
defoverridable [handle_errors: 2]
end
end
end