koahub-skip
koahub skip middleware
koahub skip
Conditionally skip a middleware when a condition is met.
Install
npm i koahub-skip --save
Usage
With existing middlewares:
var skip = require('koahub-skip');
var serve  = require('koa-static');
 
var static = serve(__dirname + '/public');
static.skip = skip;
 
app.use(static.skip({ method: 'OPTIONS' }));If you are authoring a middleware you can support skip as follow:
module.exports = function () {
  var mymid = function *(next) {
    // Do something 
  };
 
  mymid.skip = require('koahub-skip');
 
  return mymid;
};Current options
- methodit could be an string or an array of strings. If the request method match the middleware will not run.
- pathit could be an string, a regexp or an array of any of those. If the request path match, the middleware will not run.
- extit could be an string or an array of strings. If the request path ends with one of these extensions the middleware will not run.
- customit must be a function that returns- true/- false. If the function returns true for the given request, ithe middleware will not run. The function will have access to Koa's context via- this
- useOriginalUrlit should be- trueor- false, default is- true. if false,- pathwill match against- ctx.urlinstead of- ctx.originalUrl.
Examples
Require authentication for every request skip the path is index.html.
app.use(requiresAuth().skip({ path: ['/index.html', '/'] }))
Avoid a fstat for request to routes doesnt end with a given extension.
app.use(static.skip(function () {
  var ext = url.parse(this.originalUrl).pathname.substr(-4);
  return !~['.jpg', '.html', '.css', '.js'].indexOf(ext);
}));
wemall 开源微商城 ,微信商城,商城源码,三级分销,微生鲜,微水果,微外卖,微订餐---专业的o2o系统
wemall地址:http://www.wemallshop.com
代码地址:http://js.koahub.com/home/feature/koahub-skip
回复 (0)
  微信扫码 立即评论 
   
 


