{"_id":"middleware-handler","_rev":"9-96d02dcd235d93767e83b1fb085180ac","name":"middleware-handler","description":"Manager for custom middlewares","dist-tags":{"latest":"0.2.0"},"versions":{"0.1.0":{"name":"middleware-handler","version":"0.1.0","description":"Manager for express/connect-like middlewares","author":{"name":"Naoyuki Kanezawa","email":"naoyuki.kanezawa@gmail.com"},"keywords":["middleware","express","connect"],"repository":{"type":"git","url":"git://github.com/nkzawa/middleware-handler.git"},"scripts":{"test":"make test"},"devDependencies":{"mocha":"*","chai":"*"},"readme":"## MiddlewareHandler ##\n[![Build Status](https://travis-ci.org/nkzawa/middleware-handler.png?branch=master)](https://travis-ci.org/nkzawa/middleware-handler)\n\nMiddlewareHandler manages custom middlewares in the same way as how Express/Connect does.\n\n```js\nvar MiddlewareHandler = require('middleware-handler');\n\nhandler = new MiddlewareHandler();\nhandler.use(function(a, b, next()) {\n  console.log(a, b); // foo bar\n  next();\n});\nhandler.handle(['foo', 'bar']);\n```\n\n### Installation ###\n    $npm install middleware-handler\n\n### Documentation ###\n\n#### #use(middleware) ####\n```middleware``` accepts variable arguments and a callback.\n\n```js\nhandler = new MiddlewareHandler();\nhandler.use(function(arg, next) {\n  var err;\n  // do some stuff\n  next(err); // optionally accepts an error object\n});\n```\n\n#### #clear() ####\nClear all middlewares from the stack.\n\n```js\nhandler = new MiddlewareHandler();\nhandler.use(function() {});\nconsole.log(handler.stack.length); // 1\n\nhandler.clear();\nconsole.log(handler.stack.length); // 0\n```\n\n#### #handle([args], [callback]) ####\nInvoke middlewares.\n\n```js\nhandler = new MiddlewareHandler();\nhandler.use(function(a, b, next) {\n  console.log(a, b); // foo bar\n  next();\n});\nhandler.handle(['foo', 'bar'], function(err) {\n  // after calling all middlewares\n});\n```\n\n#### #compose([callback]) ####\nCreate a function that invokes middlewares.\n\n```js\nhandler = new MiddlewareHandler();\nhandler.use(function(a, b, next) {\n  console.log(a, b); // foo bar\n  next();\n});\n\nvar fn = handler.compose(function(err) {\n    // after calling all middlewares\n  });\nfn('foo', 'bar');\n```\n\n#### compose(middlewares...) ####\nCreate a function that invokes the passed middlewares.\n\n```js\nfunction middleware(a, b, next) {\n  console.log(a, b); // foo bar\n  next();\n}\n\nvar fn = MiddlewareHandler.compose(middleware, function(a, b) {\n    console.log(a, b); // foo bar\n  });\nfn('foo', 'bar');\n```\n\n","_id":"middleware-handler@0.1.0","dist":{"shasum":"76a863442bd4908673048c848e00294f36c1fd05","tarball":"https://registry.npmjs.org/middleware-handler/-/middleware-handler-0.1.0.tgz","integrity":"sha512-SVbXrZj0WuHPujCgvVKN6zTvKyvWftqm8Bh98roUHNhEjNF69Z3lMgba2tc1OAlq+Ot9krHSiUYJqOT9cgfHBQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIG01gw1DJ6Sxi6DXsVzC0S5PVY17YStD2cVTaxudDRgLAiB05dFyB5TGmBIpkFXgJg1TDsnBWf6iByptaLYmYqjmIA=="}]},"maintainers":[{"name":"nkzawa","email":"naoyuki.kanezawa@gmail.com"}]},"0.1.1":{"name":"middleware-handler","version":"0.1.1","description":"Manager for custom middlewares","author":{"name":"Naoyuki Kanezawa","email":"naoyuki.kanezawa@gmail.com"},"keywords":["middleware","express","connect"],"repository":{"type":"git","url":"git://github.com/nkzawa/middleware-handler.git"},"scripts":{"test":"make test"},"devDependencies":{"mocha":"*","chai":"*"},"readme":"## MiddlewareHandler ##\n[![Build Status](https://travis-ci.org/nkzawa/middleware-handler.png?branch=master)](https://travis-ci.org/nkzawa/middleware-handler)\n\nMiddlewareHandler manages custom middlewares in the same way as how Express/Connect does.\n\n```js\nvar MiddlewareHandler = require('middleware-handler');\n\nhandler = new MiddlewareHandler();\nhandler.use(function(a, b, next()) {\n  console.log(a, b); // foo bar\n  next();\n});\nhandler.handle(['foo', 'bar']);\n```\n\n### Installation ###\n    $npm install middleware-handler\n\n### Documentation ###\n\n#### #use(middleware) ####\n```middleware``` accepts variable arguments and a callback.\n\n```js\nhandler = new MiddlewareHandler();\nhandler.use(function(arg, next) {\n  var err;\n  // do some stuff\n  next(err); // optionally accepts an error object\n});\n```\n\n#### #clear() ####\nClear all middlewares from the stack.\n\n```js\nhandler = new MiddlewareHandler();\nhandler.use(function() {});\nconsole.log(handler.stack.length); // 1\n\nhandler.clear();\nconsole.log(handler.stack.length); // 0\n```\n\n#### #handle([args], [callback]) ####\nInvoke middlewares.\n\n```js\nhandler = new MiddlewareHandler();\nhandler.use(function(a, b, next) {\n  console.log(a, b); // foo bar\n  next();\n});\nhandler.handle(['foo', 'bar'], function(err) {\n  // after calling all middlewares\n});\n```\n\n#### #compose([callback]) ####\nCreate a function that invokes middlewares.\n\n```js\nhandler = new MiddlewareHandler();\nhandler.use(function(a, b, next) {\n  console.log(a, b); // foo bar\n  next();\n});\n\nvar fn = handler.compose(function(err) {\n    // after calling all middlewares\n  });\nfn('foo', 'bar');\n```\n\n#### compose(middlewares...) ####\nCreate a function that invokes the passed middlewares.\n\n```js\nfunction middleware(a, b, next) {\n  console.log(a, b); // foo bar\n  next();\n}\n\nvar fn = MiddlewareHandler.compose(middleware, function(a, b) {\n    console.log(a, b); // foo bar\n  });\nfn('foo', 'bar');\n```\n\n","_id":"middleware-handler@0.1.1","dist":{"shasum":"70877c30063c565de58f58f327ceb525f382eba3","tarball":"https://registry.npmjs.org/middleware-handler/-/middleware-handler-0.1.1.tgz","integrity":"sha512-Slds4Jo3LgXS2+asWSkAkhUmXTfh+gVWrW5Vtn6MIGX61nqDZvpCHk60nLDHiQggNRn/B58GtcYW+uzxPhcRHw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDSMbdpyMORRqs0evrkGnT4I/T3hCH1FKmCIGWawxBeNAIgfIRBkMXmtvJGQudb3mpng7z8abHef/dE+0SzC7ljVWw="}]},"maintainers":[{"name":"nkzawa","email":"naoyuki.kanezawa@gmail.com"}]},"0.2.0":{"name":"middleware-handler","version":"0.2.0","description":"Manager for custom middlewares","author":{"name":"Naoyuki Kanezawa","email":"naoyuki.kanezawa@gmail.com"},"keywords":["middleware","express","connect","handler","manager"],"repository":{"type":"git","url":"git://github.com/nkzawa/middleware-handler.git"},"scripts":{"test":"make test"},"devDependencies":{"mocha":"*","chai":"*"},"readme":"# MiddlewareHandler\n[![Build Status](https://travis-ci.org/nkzawa/middleware-handler.png?branch=master)](https://travis-ci.org/nkzawa/middleware-handler)\n\nMiddlewareHandler manages custom middlewares in the same way as how Express/Connect does.\n\n```js\nvar MiddlewareHandler = require('middleware-handler');\n\nvar handler = new MiddlewareHandler();\nhandler.use(function(a, b, next) {\n  console.log(a, b); // foo bar\n  next();\n});\nhandler.handle(['foo', 'bar']);\n```\n\n## Installation\n    $ npm install middleware-handler\n\n## Example\n\n### Integration with Socket.io\nParsing cookie from handshake's data with the authorization.\n\n```js\nvar cookieParser = require('express').cookieParser('secret');\nvar handler = new MiddlewareHandler();\nhandler.use(function(handshakeData, next) {\n  // handshakeData has almost the same attributes with request object.\n  cookieParser(handshakeData, {}, next);\n});\n\nvar io = require('socket.io').listen(8080);\nio.set('authorization', function(handshakeData, callback) {\n  handler.handle([handshakeData], function(err) {\n    console.log(handshakeData.cookies);\n    callback(err, !err);\n  });\n});\n```\n\n## Documentation\n\n### #use(middleware)\n```middleware``` accepts variable arguments and a callback.\n\n```js\nvar handler = new MiddlewareHandler();\nhandler.use(function(arg, next) {\n  var err;\n  // do some stuff\n  next(err);  // optionally accepts an error object\n});\n```\n\n```js\nhandler.use(function(arg, next) {\n  next(null, 'foo'); // arguments will be passed to a next middleware\n});\nhandler.use(function(arg, next) {\n  console.log(arg);  // 'foo'\n  next();\n});\n```\n\n### #handle([args], [callback])\nInvokes middlewares.\n\n```js\nvar handler = new MiddlewareHandler();\nhandler.use(function(a, b, next) {\n  console.log(a, b);  // 'foo bar'\n  next();\n});\nhandler.handle(['foo', 'bar'], function(err) {\n  // after calling all middlewares\n});\n```\n\n### #compose([callback])\nCreates a function which invokes middlewares.\n\n```js\nvar handler = new MiddlewareHandler();\nhandler.use(function(a, b, next) {\n  console.log(a, b);  // 'foo bar'\n  next();\n});\n\nvar fn = handler.compose(function(err) {\n    // after calling all middlewares\n  });\nfn('foo', 'bar');\n```\n\n### #clear()\nClear all middlewares from the stack.\n\n```js\nvar handler = new MiddlewareHandler();\nhandler.use(function() {});\nconsole.log(handler.stack.length);  // 1\n\nhandler.clear();\nconsole.log(handler.stack.length);  // 0\n```\n\n### compose(middlewares...)\nCreates a function which invokes the passed middlewares.\n\n```js\nfunction middleware(a, b, next) {\n  console.log(a, b);  // 'foo bar'\n  next();\n}\n\nvar fn = MiddlewareHandler.compose(middleware, function(a, b) {\n    console.log(a, b);  // 'foo bar'\n  });\nfn('foo', 'bar');\n```\n\n## License\nMIT\n\n","readmeFilename":"README.md","_id":"middleware-handler@0.2.0","dist":{"shasum":"bf02af7e6b577c0230609b2ae58df0e446f3fd02","tarball":"https://registry.npmjs.org/middleware-handler/-/middleware-handler-0.2.0.tgz","integrity":"sha512-Qz4B0yWndSokapr3Kl7fpMRysS0DaBlOuATrExFuZbr+oXZ3rsAPufdLe8mUJXiG5A4aJGW6GfKS4PDfQwu7Mg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHrtKK1DaFE/ZMdOSN3Pv61KYQYLRM8DjQeuLC0fNG0TAiBQOgoC+bnUYleQNLrVvUaZz8f36A/OdhH5tHUf6Ry5fw=="}]},"_from":".","_npmVersion":"1.2.14","_npmUser":{"name":"nkzawa","email":"naoyuki.kanezawa@gmail.com"},"maintainers":[{"name":"nkzawa","email":"naoyuki.kanezawa@gmail.com"}]}},"readme":"## MiddlewareHandler ##\n[![Build Status](https://travis-ci.org/nkzawa/middleware-handler.png?branch=master)](https://travis-ci.org/nkzawa/middleware-handler)\n\nMiddlewareHandler manages custom middlewares in the same way as how Express/Connect does.\n\n```js\nvar MiddlewareHandler = require('middleware-handler');\n\nhandler = new MiddlewareHandler();\nhandler.use(function(a, b, next()) {\n  console.log(a, b); // foo bar\n  next();\n});\nhandler.handle(['foo', 'bar']);\n```\n\n### Installation ###\n    $npm install middleware-handler\n\n### Documentation ###\n\n#### #use(middleware) ####\n```middleware``` accepts variable arguments and a callback.\n\n```js\nhandler = new MiddlewareHandler();\nhandler.use(function(arg, next) {\n  var err;\n  // do some stuff\n  next(err); // optionally accepts an error object\n});\n```\n\n#### #clear() ####\nClear all middlewares from the stack.\n\n```js\nhandler = new MiddlewareHandler();\nhandler.use(function() {});\nconsole.log(handler.stack.length); // 1\n\nhandler.clear();\nconsole.log(handler.stack.length); // 0\n```\n\n#### #handle([args], [callback]) ####\nInvoke middlewares.\n\n```js\nhandler = new MiddlewareHandler();\nhandler.use(function(a, b, next) {\n  console.log(a, b); // foo bar\n  next();\n});\nhandler.handle(['foo', 'bar'], function(err) {\n  // after calling all middlewares\n});\n```\n\n#### #compose([callback]) ####\nCreate a function that invokes middlewares.\n\n```js\nhandler = new MiddlewareHandler();\nhandler.use(function(a, b, next) {\n  console.log(a, b); // foo bar\n  next();\n});\n\nvar fn = handler.compose(function(err) {\n    // after calling all middlewares\n  });\nfn('foo', 'bar');\n```\n\n#### compose(middlewares...) ####\nCreate a function that invokes the passed middlewares.\n\n```js\nfunction middleware(a, b, next) {\n  console.log(a, b); // foo bar\n  next();\n}\n\nvar fn = MiddlewareHandler.compose(middleware, function(a, b) {\n    console.log(a, b); // foo bar\n  });\nfn('foo', 'bar');\n```\n\n","maintainers":[{"name":"nkzawa","email":"naoyuki.kanezawa@gmail.com"}],"time":{"modified":"2022-06-19T19:04:10.232Z","created":"2013-03-03T00:24:57.184Z","0.1.0":"2013-03-03T00:24:59.316Z","0.1.1":"2013-03-03T01:11:15.243Z","0.2.0":"2013-03-17T11:56:56.163Z"},"author":{"name":"Naoyuki Kanezawa","email":"naoyuki.kanezawa@gmail.com"},"repository":{"type":"git","url":"git://github.com/nkzawa/middleware-handler.git"}}