Home

Awesome

Conditionally skip a middleware when a condition is met.

Install

npm i express-unless --save

Usage

With existing middlewares:

var { unless } = require("express-unless");

var static = express.static(__dirname + "/public");
static.unless = unless;

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

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

var { unless } = require("express-unless");

module.exports = function (middlewareOptions) {
  var mymid = function (req, res, next) {};

  mymid.unless = unless;

  return mymid;
};

Current options

Examples

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

app.use(
  requiresAuth.unless({
    path: ["/index.html", { url: "/", methods: ["GET", "PUT"] }],
  })
);

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

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

License

MIT 2014 - Jose Romaniello