Add the redirect route.

main
KKlochko 2 years ago
parent 47ea2bc1da
commit a6af0b6e96

@ -11,4 +11,6 @@
Added a generator of a SafeString. Added a generator of a SafeString.
** 0.2.1 <2023-07-07 Fri> ** 0.2.1 <2023-07-07 Fri>
Added a method to create an Link using a generator. Added a method to create an Link using a generator.
** 0.3.0 <2023-07-08 Sat>
Added the redirect route.

@ -0,0 +1,9 @@
defmodule LinkShortenerWeb.RedirectController do
use LinkShortenerWeb, :controller
alias LinkShortener.Links
def show(conn, %{"shorten" => shorten}) do
%{url: url} = Links.get_one_by_shorten(shorten)
redirect(conn, external: url)
end
end

@ -18,6 +18,7 @@ defmodule LinkShortenerWeb.Router do
pipe_through :browser pipe_through :browser
get "/", PageController, :index get "/", PageController, :index
get "/u/:shorten", RedirectController, :show
end end
# Other scopes may use custom stacks. # Other scopes may use custom stacks.

@ -4,7 +4,7 @@ defmodule LinkShortener.MixProject do
def project do def project do
[ [
app: :link_shortener, app: :link_shortener,
version: "0.2.1", version: "0.3.0",
elixir: "~> 1.12", elixir: "~> 1.12",
elixirc_paths: elixirc_paths(Mix.env()), elixirc_paths: elixirc_paths(Mix.env()),
compilers: [] ++ Mix.compilers(), compilers: [] ++ Mix.compilers(),

Loading…
Cancel
Save