Promised routes
Dead simple ExpressJS routes for developers using promises.
Motivation
You know how funny it can be to code asynchronously?
app
Terrible? Definitely.
Ok, promises can make your async life a little bit easier:
app
Well, that looks like a lot better! However, there is still some boilerplate
in that code: the last then
, catch
and done
are basically same for all
routes. Doh!
Here promised-routes
comes to rescue:
var routes = ...app
Simple, lightweight, tested and beautiful.
👍
API
.json((request [, response]) => value|promise(value)) => routeHandler
Creates an express
route that returns Content-Type: application/json
with
200 code and JSON body. The returned JSON body can be wrapped to promise so
that it'll be sent asynchronously when the promise completes.
var routes = Bluebird = app
.jsonp((request[, response]) => value|promise(value)) => routeHandler
Behaves exactly same like .json(..)
but uses res.jsonp
for response sending
instead of res.json
. All express configurations to Express application apply here.
.custom(mimeType, (request [, response]) => value|promise(value)) => routeHandler
Creates an express
route that returns the user selected mime type as
response's Content-Type
. The body is returned with response.send()
so
all express
supported types can be returned. Like in JSON routes, both
synchronous and asynchronous (= promises) values are supported.
var routes = app
.configure(opts) => routes
Creates a new routes object with overridden options.
var routes = var custom = routes app
Please see possible options and their defaults from here.