Home

Awesome

Koa Unless

Build Status

Conditionally skip a middleware when a condition is met.

Install

npm i koa-unless --save

Usage

With existing middlewares:

var unless = require('koa-unless');
var serve  = require('koa-static');

var static = serve(__dirname + '/public');
static.unless = unless;

app.use(static.unless({ method: 'OPTIONS' }));

If you are authoring a middleware you can support unless as follow:

module.exports = function () {
  var mymid = function *(next) {
	// Do something
  };

  mymid.unless = require('koa-unless');

  return mymid;
};

Current options

Examples

Require authentication for every request unless the path is index.html.

app.use(requiresAuth.unless({ path: ['/index.html', '/'] }))

Avoid a fstat for request to routes doesnt end with a given extension.

app.use(static.unless(function () {
  var ext = url.parse(this.originalUrl).pathname.substr(-4);
  return !~['.jpg', '.html', '.css', '.js'].indexOf(ext);
}));

Credits

All the credits for this library goes for José F. Romaniello which created the original express version.

License

MIT 2015 - Jesús Rodríguez