0.1.1 • Published 10 years ago

kaypromisemiddleware v0.1.1

Weekly downloads
1
License
MIT
Repository
github
Last release
10 years ago

KayPromiseMiddleware

Copyright © 2013 Kay Framework Team KayPromiseMiddleware may be freely distributed under the MIT license. For all details and documentation: http://github.com/kayframework/kaypromisemiddleware

KayPromiseMiddleware is a middleware framework, similar to how Connect (or Express) middleware frameworks work, but multi-purpose; not just tied to HTTP requests. On top of that, it also is Promise-compatible, if a middleware function returns a Promise then the next middleware funciton in the stack is not called until the Promise is resolved. This means you can write expressive promise based code and just let the Middleware class do all the hard work for you. It also features "unwinding", where by early middlewares can be referred back to, so they can tidy up or add logging. KayPromiseMiddleWare is also backwards compatible with Connect/Express middleware (except for any error middleware), and aims to be forward compatible with ES6 Generators.

KayPromiseMiddleware looks very similar to Promises, in fact the APi is almost identical. The key difference between KayPromiseMiddleware and Promises: KayPromiseMiddleware is repeatable - it can be repeatedly called with new states each time, while Promises cannot.

Usage

You can simply call the factory function, or create a new instance of Middleware, and then use the handle function to dispatch to the middlewares that have been declared using the Promise syntax .then(reolsve, reject) and .catch(reject). Here is a quick example:

var createMiddleware = require('kaypromisemiddleware'),
    app = createMiddleware();

app.then(require('./middleware/cookieParser'))
   .then(require('./middleware/bodyParser'))
   .then(require('./middleware/bodyParser'));

app.then(function (str) {
    str += 'hi ';
}).then(function (str) {
    str += 'bob';
});

app.handle()