node package manager
Don’t reinvent the wheel. Reuse code within your team. Create a free org »

blvd-methods

blvd-methods
npm version Build status

Combinators to wrap HTTP handlers and filter based on method.

http.createServer(methods.put(function(req, res) {
  assert(req.method === 'put');
}));

Supports every method that Node HTTP does.

Custom method getting

If you're using something other than Node HTTP, and req isn't the first argument to the handler, or the method is somewhere other than req.method, you can override getMethod using underscored methods:

var get = methods.get_(function getMethod() {
  return this.method; // e.g. Koa 
});
 
get(function *(next) {
  // ... 
});

Or override them all at once with withGetMethod:

var methods = require('blvd-methods').withGetMethod(function getMethod() {
  return this.method; // e.g. Koa 
});
 
methods.get(function *(next) {
  // ... 
});

Routing

blvd-methods is designed to work well with Boulevard routers:

route([
  ['/',  methods.get(function(req, res) { /* ... */})],
  ['/', methods.post(function(req, res) { /* ... */})],
]);

Licence

MIT.