require "../handler" require "../views/html/test/auth" class Guff::Handlers::TestAuthHandler < Guff::Handler PATH_RE = %r{^/test/auth/?$} def call(context : HTTP::Server::Context) if PATH_RE.match(context.request.path.not_nil!) case context.request.method when "GET", "HEAD" draw_page(context) when "POST" set_auth(context) else raise "unknown method" end else call_next(context) end end private def draw_page(context) TestAuthHTMLView.run(@models, context) end private def set_auth(context) params = HTTP::Params.parse(context.request.body as String) # TODO: extract user id and set it in session redirect(context, "/test/blog") end end