wikicr/config/routes.cr

40 lines
1.6 KiB
Crystal

class Router
{% for verb in {:get, :post, :delete, :patch, :put, :head} %}
macro {{verb.id}}(route, controller, method)
::{{verb.id}}(\{{route}}) do |env|
context = \{{controller}}.new(env)
# puts "Before init"
# pp env.request.cookies
# pp env.response.cookies
context.cookies.fill_from_client_headers(env.request.headers)
# puts "After init"
# pp env.request.cookies
# pp env.response.cookies
output = context.\{{method.id}}()
# puts "After controller"
# pp env.request.cookies
# pp env.response.cookies
#context.cookies.add_response_headers(env.response.headers)
output
end
end
{% end %}
end
Router.get "/", HomeController, :index
Router.get "/sitemap", PagesController, :sitemap
Router.get "/pages/search", PagesController, :search
Router.get "/pages/*path", PagesController, :show
Router.post "/pages/*path", PagesController, :update
Router.get "/users/login", UsersController, :login
Router.post "/users/login", UsersController, :login_validates
Router.get "/users/register", UsersController, :register
Router.post "/users/register", UsersController, :register_validates
Router.get "/admin/users", AdminController, :users_show
Router.post "/admin/users/create", AdminController, :user_create
Router.post "/admin/users/delete", AdminController, :user_delete
Router.get "/admin/acls", AdminController, :acls_show
Router.post "/admin/acls/update", AdminController, :acl_update
Router.post "/admin/acls/create", AdminController, :acl_create
Router.post "/admin/acls/delete", AdminController, :acl_delete