A DSL for building Ring handlers from smaller routes.
Compojure routes are semantically the same as Ring handlers, with the
exception that routes may return nil to indicate they do not match.
This namespace provides functions and macros for concisely constructing
routes and combining them together to form more complex functions.
(ANY path args & body)
Generate a route that matches any method.
(context path args & routes)
Give all routes in the form a common path prefix and set of bindings.
The following example demonstrates defining two routes with a common
path prefix ('/user/:id') and a common binding ('id'):
(context "/user/:id" [id]
(GET "/profile"  ...)
(GET "/settings"  ...))
(defroutes name & routes)
Define a Ring handler function from a sequence of routes. The name may
optionally be followed by a doc-string and metadata map.
(DELETE path args & body)
Generate a DELETE route.
(GET path args & body)
Generate a GET route.
(HEAD path args & body)
Generate a HEAD route.
(let-request [bindings request] & body)
(let-routes bindings & body)
Takes a vector of bindings and a body of routes. Equivalent to:
(let [...] (routes ...))
(make-route method route handler)
Returns a function that will only call the handler if the method and Clout
route match the request.
(OPTIONS path args & body)
Generate an OPTIONS route.
(PATCH path args & body)
Generate a PATCH route.
(POST path args & body)
Generate a POST route.
(PUT path args & body)
Generate a PUT route.
(routes & handlers)
Create a Ring handler by combining several handlers into one.
(routing request & handlers)
Apply a list of routes to a Ring request map.