Extensible Argument Resolvers
Pre-releaseThis release significantly revamped argument resolvers, including making the list of argument resolvers extensible using options to the namespace-handler, and via :arg-resolvers metadata on functions and namespaces.
Middleware for namespaces is no longer simple Ring middleware; the middleware is passed both the handler to wrap and the merged metadata for the resource handler function. This encourages the middleware to only wrap handlers for which it applies, leading to improved runtime efficiency. A new function, compose-middleware makes it easy to string together several middleware expressions, similar to how -> is used for Ring middleware.
In addition, it is now possible to add metadata defining response status code and corresponding body schemas; this is useful in development to ensure that your resource handler functions are returning the values you expect.
No issues were closed for this release.