{"_id":"express-sticky-cluster","_rev":"34-a92a448d0a8c5d935a96e97387454093","name":"express-sticky-cluster","time":{"modified":"2022-06-17T22:41:21.553Z","created":"2016-09-12T09:56:37.333Z","0.0.1":"2016-09-12T09:56:37.333Z","0.0.2":"2016-09-12T12:47:29.540Z","0.0.3":"2016-09-12T12:57:02.969Z","0.0.4":"2016-09-12T18:38:55.907Z","0.0.5":"2016-09-12T18:55:49.628Z","0.1.0":"2016-09-12T19:02:06.838Z","0.1.1":"2016-09-12T21:48:16.356Z","0.1.2":"2016-09-13T21:48:35.396Z","0.1.3":"2016-09-14T06:38:37.934Z","0.1.4":"2016-09-16T21:03:44.852Z","1.0.1":"2016-09-17T18:37:52.996Z","1.0.2":"2016-09-17T21:54:29.937Z","1.1.0":"2017-01-06T22:12:38.392Z","1.1.1":"2017-01-06T23:27:25.909Z","1.1.2":"2017-01-08T00:28:53.953Z","1.1.3":"2017-01-08T01:55:05.112Z","1.1.4":"2017-01-10T04:58:50.980Z","1.2.0":"2017-01-10T10:58:53.838Z","1.2.1":"2017-01-10T21:24:14.535Z","1.3.0":"2017-01-10T23:02:43.203Z","1.3.1":"2017-01-11T04:06:10.650Z","1.3.2":"2017-01-12T07:13:25.646Z","1.3.3":"2017-01-24T20:02:43.699Z","1.3.4":"2017-12-23T20:49:32.199Z","1.3.5":"2018-01-20T19:52:51.697Z"},"maintainers":[{"name":"kain_pl","email":"pushkar.valeriy@gmail.com"}],"dist-tags":{"latest":"1.3.5"},"description":"Sticky session balancer based on a cluster and node-http-proxy modules, with express and socket.io support","readme":"# express-sticky-cluster\r\nSticky session balancer based on a <code>[cluster](https://nodejs.org/api/cluster.html)</code> and <code>[node-http-proxy](https://github.com/nodejitsu/node-http-proxy)</code> modules, with <code>[express](http://expressjs.com/)</code> and <code>[socket.io](http://socket.io/)</code> support.\r\n\r\nDesigned for using like <code>[express-cluster](https://github.com/Flipboard/express-cluster)</code>.\r\n\r\n**No memory leaks** since version 1.0.0!\r\n\r\n[![NPM](https://nodei.co/npm/express-sticky-cluster.png?downloads=true&stars=true)](https://nodei.co/npm/express-sticky-cluster/)\r\n\r\n## How it works\r\nLaunches multiple worker processes through [cluster](https://nodejs.org/api/cluster.html), using bunch of ports.\r\nOne worker process becomes also 'http-proxy', serving as sticky session balancer.\r\n\r\nEstablishes sticky round-robin balancer for any kind of http(s) frameworks. Not only, but including [socket.io](http://socket.io/) and [express](http://expressjs.com/). \r\nClient will always connect to same worker process sticked with customizable hash function.\r\nFor example, [socket.io](http://socket.io/) multi-stage authorization will work as expected. \r\n\r\n**Unused sessions stickers will be deleted after some time, so module does not have memory leaks.**\r\n\r\n## Installation\r\n```bash\r\nnpm install express-sticky-cluster [--save]\r\n```\r\n\r\n## Usage example\r\n[Express 4](http://expressjs.com/) example with [socket.io](http://socket.io/) and [passport.js](http://passportjs.org/) usage.\r\n\r\n**./bin/www**:\r\n```javascript\r\nvar app = require('../worker'),\r\n    debug = require('debug')('example-app:server'),\r\n    https = require('https'),\r\n    fs = require('fs'),\r\n    ipfilter = require('express-ipfilter').IpFilter;\r\nvar express_sticky_cluster = require('express-sticky-cluster');\r\n\r\nvar optionsHTTPs = {\r\n        key: fs.readFileSync('./cert/def-secured.key'),\r\n        cert: fs.readFileSync('./cert/def-secured.crt')\r\n    };\r\n    \r\nvar server = https.createServer(optionsHTTPs, app);\r\nrequire('../socket.io')(require('socket.io')(server));\r\n\r\nexpress_sticky_cluster(\r\n    {\r\n\t    workers: 0,\r\n\t    respawn: true,\r\n\t    socket: true,\r\n\t    proxy_port: 443,\r\n        worker_port: 8000,\r\n        delay: 1000,        \t    \r\n        debug: true,\r\n        ssl: {\r\n\t        secure: true,\r\n\t        certs: optionsHTTPs\r\n        },\t  \r\n        ipfilter: ipfilter(['127.0.0.1', ['192.168.0.1', '192.168.0.200']], {mode: allow, log: false}),\r\n\t    session: {\r\n            hash: 'connect.sid',\r\n            ttl: 360000\r\n\t    },\r\n\t    logger: undefined,\r\n\t    workerListener: function (message) {}\r\n\t}, function (worker, port) {\r\n\t    console.info('Worker ID#' + worker.id + ' process started PID#' + worker.process.pid);\r\n\t    app.set('port', port);\r\n\t    return server.listen(port);\r\n\t}\r\n);\r\n\r\nserver.on('error', onError);\r\nserver.on('listening', onListening);\r\n\r\nfunction onError(error) {\r\n    if (error.syscall !== 'listen')\r\n        throw error;\r\n    var bind = typeof port === 'string'\r\n        ? 'Pipe ' + port\r\n        : 'Port ' + port;\r\n    switch (error.code) {\r\n        case 'EACCES':\r\n            console.error(bind + ' requires elevated privileges');\r\n            process.exit(1);\r\n            break;\r\n        case 'EADDRINUSE':\r\n            console.error(bind + ' is already in use');\r\n            process.exit(1);\r\n            break;\r\n        default:\r\n            throw error;\r\n    }\r\n}\r\nfunction onListening() {\r\n    var addr = server.address();\r\n    var bind = typeof addr === 'string'\r\n        ? 'pipe ' + addr\r\n        : 'port ' + addr.port;\r\n    console.info('Listening on ' + bind + ' PID#' + process.pid);\r\n}\r\n```\r\n**./worker.js**:\r\n```javascript\r\nvar express = require('express'),\r\n    session = require('express-session'),\r\n    passport = require('passport'),\r\n\tuuid = require('node-uuid');\r\n\t\r\nvar app = express();\r\n\r\nvar sessionFileStore = require('session-file-store')(session);\r\nglobal.sessionStore = new sessionFileStore({\r\n    path : path.join(__dirname, '/sessions')\r\n});    \r\n...\r\nrequire('./passport')(passport);\r\napp.use(passport.initialize());\r\napp.use(passport.session());\r\n...\r\napp.use(session({\r\n    secret: 'keyboard-cat',\r\n    name: 'connect.sid',\r\n    resave: true,\r\n    rolling: true,\r\n    saveUninitialized: true,\r\n    cookie: {\r\n        path: '/',\r\n        httpOnly: false,\r\n        secure: true,\r\n        maxAge: 360000\r\n    },\r\n    store: global.sessionStore,\r\n    genid: function (req) {\r\n        return uuid.v4();\r\n    }\r\n}));\r\n...\r\nmodule.exports = app;\r\n```\r\n\r\n**./socket.io.js**:\r\n```javascript\r\nvar passportIo = require('passport.socketio'),\r\n    cookieParser = require('cookie-parser');\r\n\r\nmodule.exports = function (io) {\r\n    io.use(passportIo.authorize({\r\n        cookieParser: cookieParser,\r\n        key: 'connect.sid',\r\n        secret: 'keyboard-cat',\r\n        store: global.sessionStore,\r\n        success: function (data, accept) {\r\n            accept();\r\n        },\r\n        fail: function (data, message, err, accept) {\r\n            if(err)\r\n                accept(new Error(message));\r\n        }\r\n    }));\r\n    io.on('connection', function (socket) {\r\n        socket.on('join', function (data) {\r\n            console.log('join', data);\r\n        });\r\n        socket.on('disconnect', function () {\r\n            socket.leave();\r\n        });\r\n    });\r\n};\r\n```\r\n**./passport.js**:\r\n```javascript\r\nvar LocalStrategy = require('passport-local').Strategy;\r\n\r\nmodule.exports = function (passport, licensing) {\r\n    passport.serializeUser(function (user, done) {\r\n        done(null, user);\r\n    });\r\n    passport.deserializeUser(function (user, done) {\r\n        done(null, user);\r\n    });\r\n    passport.use(\r\n        'local-signin',\r\n        new LocalStrategy({\r\n                usernameField: 'username',\r\n                passwordField: 'password',\r\n                passReqToCallback: true\r\n            },\r\n            function (req, username, password, done) {\r\n                var objUser = {};\r\n                return done(null, objUser, {message: 'Successfull login'});\r\n            }\r\n        )\r\n    );\r\n};\r\n```\r\n\r\n#### Options\r\n* **workers** - Number of workers to spawn (default: CPU core count)\r\n* **respawn** - Respawn process on exit (default: true)\r\n* **socket** - Allow WebSocket proxy (default: true)\r\n* **proxy_port** - Proxy listener port (default: if **secure** then 443 else 80)\r\n* **worker_port** - Workers first port, increased for each worker (for 4 workers it will be use [worker_port, worker_port+1, worker_port+2, worker_port+3]) (default: 8000)\r\n* **delay** - Proxy instance creating delay (default: 1000ms) \r\n* **debug** - Log Proxy debug info to **logger** (default: false)\r\n* **ssl**:\r\n\t1. **secure** - Create HTTP or HTTPS proxy (default: false means HTTP)\r\n\t2. **certs** - TLS certificates data object (default: undefined, if **secure**=true must contain you TLS certificates data)\r\n* **ipfilter** - IP-filter function, for details see [express-ipfilter](https://www.npmjs.com/package/express-ipfilter) (default: undefined)\r\n* **session**:\r\n\t1. **hash** - Function (req, res) or Session cookie name. If function - can use cookie-based session ids and etc. (default: if undefined uses cookie-based session id from cookie 'connect.sid')\r\n\t2. **ttl** - Sessions TTL, uses for **store** configuration (default: 3600000ms)\r\n* **logger** - Logger instance, for example new winston.Logger(...) instance (default: undefined)\r\n* **workerListener** - Attach the given function to each spawned worker. The function will be bound to the worker that sent the message so you can setup a two way message bus if you want (default: undefined)\r\n\r\n#### Callback function\r\n* **worker** - current worker instance\r\n* **port** - current worker assigned port\r\n\t\r\n### LICENSE\r\nMIT License\r\n\r\nCopyright (c) 2016 Valeriy V. Pushkar and contributors\r\n\r\nPermission is hereby granted, free of charge, to any person obtaining a copy\r\nof this software and associated documentation files (the \"Software\"), to deal\r\nin the Software without restriction, including without limitation the rights\r\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\ncopies of the Software, and to permit persons to whom the Software is\r\nfurnished to do so, subject to the following conditions:\r\n\r\nThe above copyright notice and this permission notice shall be included in all\r\ncopies or substantial portions of the Software.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\r\nSOFTWARE.\r\n","versions":{"0.0.5":{"author":{"name":"Valeriy V. Pushkar","email":"pushkar.valeriy@gmail.com"},"bugs":{"url":"https://github.com/kainpl/express-sticky-cluster/issues"},"dependencies":{"http-proxy":"*","merge":"*","cookie":"*"},"description":"Sticky session balancer based on a cluster and node-http-proxy modules, with express and socket.io support","devDependencies":{},"directories":{},"dist":{"shasum":"6135aef21eed2dc671c32e4df6e98704e9396112","tarball":"https://registry.npmjs.org/express-sticky-cluster/-/express-sticky-cluster-0.0.5.tgz","integrity":"sha512-or6LU1jlAaPqgNoq/XUPATA++r7i2yFexIjjDZeNTrBQarseL7C+GhFAsWJp7LQEkNey5pJApLr6FVyJkAdOLA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCKPLMkaZuDzA5bbiSfu0DydQa3q7ksMkZ4V+3oeAfdTAIgM8tYv9vlQjXUtJHzPm2CEiM1gQWljEuedfwQINTQc+g="}]},"gitHead":"066bc4d03d2d058ff534be1949120a41d0507464","homepage":"https://github.com/kainpl/express-sticky-cluster#readme","keywords":["express.js","cluster","http-proxy","socket.io","sticky-cluster","sticky-sessions"],"license":"MIT","main":"index.js","maintainers":[{"name":"kain_pl","email":"pushkar.valeriy@gmail.com"}],"name":"express-sticky-cluster","optionalDependencies":{},"repository":{"type":"git","url":"git+https://github.com/kainpl/express-sticky-cluster.git"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"version":"0.0.5","_id":"express-sticky-cluster@0.0.5","_shasum":"6135aef21eed2dc671c32e4df6e98704e9396112","_from":".","_npmVersion":"3.10.6","_nodeVersion":"4.5.0","_npmUser":{"name":"kain_pl","email":"pushkar.valeriy@gmail.com"},"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/express-sticky-cluster-0.0.5.tgz_1473706547707_0.5108673174399883"}},"0.1.0":{"author":{"name":"Valeriy V. Pushkar","email":"pushkar.valeriy@gmail.com"},"bugs":{"url":"https://github.com/kainpl/express-sticky-cluster/issues"},"dependencies":{"http-proxy":"*","merge":"*","cookie":"*"},"description":"Sticky session balancer based on a cluster and node-http-proxy modules, with express and socket.io support","devDependencies":{},"directories":{},"dist":{"shasum":"51792f1f453f953cfaafd0bee183519f2cb684eb","tarball":"https://registry.npmjs.org/express-sticky-cluster/-/express-sticky-cluster-0.1.0.tgz","integrity":"sha512-ON8Wax89gpuso2RfBv/QaL4cWMOTeLeOUZPCRvjUgmyc4H3W0glGjwNcWuWa/+Epiw21bWTTtMz/CZbw2+v59Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFg/MT0mxtdKdrn2R7JXdS7ZZRHIxzhC6i/UJ3eWq1mTAiBf3Zccavng7RMGiT/MhFoMg47ORjcOjvAmGuuhAVOqUw=="}]},"gitHead":"066bc4d03d2d058ff534be1949120a41d0507464","homepage":"https://github.com/kainpl/express-sticky-cluster#readme","keywords":["express.js","cluster","http-proxy","socket.io","sticky-cluster","sticky-sessions"],"license":"MIT","main":"index.js","maintainers":[{"name":"kain_pl","email":"pushkar.valeriy@gmail.com"}],"name":"express-sticky-cluster","optionalDependencies":{},"repository":{"type":"git","url":"git+https://github.com/kainpl/express-sticky-cluster.git"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"version":"0.1.0","_id":"express-sticky-cluster@0.1.0","_shasum":"51792f1f453f953cfaafd0bee183519f2cb684eb","_from":".","_npmVersion":"3.10.6","_nodeVersion":"4.5.0","_npmUser":{"name":"kain_pl","email":"pushkar.valeriy@gmail.com"},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/express-sticky-cluster-0.1.0.tgz_1473706925041_0.5573921210598201"}},"0.1.1":{"author":{"name":"Valeriy V. Pushkar","email":"pushkar.valeriy@gmail.com"},"bugs":{"url":"https://github.com/kainpl/express-sticky-cluster/issues"},"dependencies":{"http-proxy":"*","merge":"*","cookie":"*"},"description":"Sticky session balancer based on a cluster and node-http-proxy modules, with express and socket.io support","devDependencies":{},"directories":{},"dist":{"shasum":"55cd53c1e58fb15b20f9eb8c3831f8f890a6000d","tarball":"https://registry.npmjs.org/express-sticky-cluster/-/express-sticky-cluster-0.1.1.tgz","integrity":"sha512-W4/1plCZwMWXo4k10o9kmxTVsPcUDHsjQr6VkEu9qrXwJ9DBjS7wbisMu32MkSNdpDi0dWiBA5/9cygZH/iawg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIClaHrYuIKUJpBvMitMsdCsV/Dno5DRJwfGALqZ3pVAAAiEA+V7DpfYXw2s9mc/s6cFSi/bYbg/Kr2Y9B6FMb9m8vk4="}]},"gitHead":"066bc4d03d2d058ff534be1949120a41d0507464","homepage":"https://github.com/kainpl/express-sticky-cluster#readme","keywords":["express.js","cluster","http-proxy","socket.io","sticky-cluster","sticky-sessions"],"license":"MIT","main":"index.js","maintainers":[{"name":"kain_pl","email":"pushkar.valeriy@gmail.com"}],"name":"express-sticky-cluster","optionalDependencies":{},"repository":{"type":"git","url":"git+https://github.com/kainpl/express-sticky-cluster.git"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"version":"0.1.1","_id":"express-sticky-cluster@0.1.1","_shasum":"55cd53c1e58fb15b20f9eb8c3831f8f890a6000d","_from":".","_npmVersion":"3.10.6","_nodeVersion":"4.5.0","_npmUser":{"name":"kain_pl","email":"pushkar.valeriy@gmail.com"},"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/express-sticky-cluster-0.1.1.tgz_1473716894389_0.17423329246230423"}},"0.1.2":{"author":{"name":"Valeriy V. Pushkar","email":"pushkar.valeriy@gmail.com"},"bugs":{"url":"https://github.com/kainpl/express-sticky-cluster/issues"},"dependencies":{"http-proxy":"*","merge":"*","cookie":"*"},"description":"Sticky session balancer based on a cluster and node-http-proxy modules, with express and socket.io support","devDependencies":{},"directories":{},"dist":{"shasum":"1a6929c0b0ca40c84c2063a7f608e68916eb44c4","tarball":"https://registry.npmjs.org/express-sticky-cluster/-/express-sticky-cluster-0.1.2.tgz","integrity":"sha512-BVycw4Jui7gg+Vkh+X4lilRY8yWe+nbvmoPYp1fuM0PQCHsGFUi0WMWQfGHx1YzfeXYFSmzvllCj8QRYZQixjg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDmczJ94kh9XVtbcUwi6PXev4RvQaHodzeTlPQube9VQgIhAL1VBrg6vq8+ULnnu3/B787LNVhsofGbRyZe4W/hjUBD"}]},"gitHead":"066bc4d03d2d058ff534be1949120a41d0507464","homepage":"https://github.com/kainpl/express-sticky-cluster#readme","keywords":["express.js","cluster","http-proxy","socket.io","sticky-cluster","sticky-sessions"],"license":"MIT","main":"index.js","maintainers":[{"name":"kain_pl","email":"pushkar.valeriy@gmail.com"}],"name":"express-sticky-cluster","optionalDependencies":{},"repository":{"type":"git","url":"git+https://github.com/kainpl/express-sticky-cluster.git"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"version":"0.1.2","_id":"express-sticky-cluster@0.1.2","_shasum":"1a6929c0b0ca40c84c2063a7f608e68916eb44c4","_from":".","_npmVersion":"3.10.6","_nodeVersion":"4.5.0","_npmUser":{"name":"kain_pl","email":"pushkar.valeriy@gmail.com"},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/express-sticky-cluster-0.1.2.tgz_1473803313327_0.5845070071518421"}},"0.1.3":{"author":{"name":"Valeriy V. Pushkar","email":"pushkar.valeriy@gmail.com"},"bugs":{"url":"https://github.com/kainpl/express-sticky-cluster/issues"},"dependencies":{"http-proxy":"*","merge":"*","cookie":"*"},"description":"Sticky session balancer based on a cluster and node-http-proxy modules, with express and socket.io support","devDependencies":{},"directories":{},"dist":{"shasum":"138e82d7f65faea09f5095b4592188040fdae788","tarball":"https://registry.npmjs.org/express-sticky-cluster/-/express-sticky-cluster-0.1.3.tgz","integrity":"sha512-U+Qi4S0/3REiMwKy/o4hyReQnP37E4ogFlPvTFIPH+LzbxJnMDf8wvHufyEY24qJUubcjAYPpUphW5zwa1LZ6A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFHjNLkuQY4YExRFIOx0j4DhEWowRL6UN3tgMgfUQvEYAiEA8MtJ96LwFOAnqn2ktlHEzHceWF+MH3/rYjYd+kLc1vE="}]},"gitHead":"066bc4d03d2d058ff534be1949120a41d0507464","homepage":"https://github.com/kainpl/express-sticky-cluster#readme","keywords":["express.js","cluster","http-proxy","socket.io","sticky-cluster","sticky-sessions"],"license":"MIT","main":"index.js","maintainers":[{"name":"kain_pl","email":"pushkar.valeriy@gmail.com"}],"name":"express-sticky-cluster","optionalDependencies":{},"repository":{"type":"git","url":"git+https://github.com/kainpl/express-sticky-cluster.git"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"version":"0.1.3","_id":"express-sticky-cluster@0.1.3","_shasum":"138e82d7f65faea09f5095b4592188040fdae788","_from":".","_npmVersion":"3.10.6","_nodeVersion":"4.5.0","_npmUser":{"name":"kain_pl","email":"pushkar.valeriy@gmail.com"},"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/express-sticky-cluster-0.1.3.tgz_1473835117081_0.02610950148664415"}},"0.1.4":{"author":{"name":"Valeriy V. Pushkar","email":"pushkar.valeriy@gmail.com"},"bugs":{"url":"https://github.com/kainpl/express-sticky-cluster/issues"},"dependencies":{"http-proxy":"*","merge":"*","cookie":"*"},"description":"Sticky session balancer based on a cluster and node-http-proxy modules, with express and socket.io support","devDependencies":{},"directories":{},"dist":{"shasum":"fc0ddbef1f5345868d6416888f31dfc8983c12bd","tarball":"https://registry.npmjs.org/express-sticky-cluster/-/express-sticky-cluster-0.1.4.tgz","integrity":"sha512-sgPqE2iVZO8/CzGTRvm5BZDpkO8ujZ8U+q+x6PEk9q4D35zCL2wmVI41Pq3dz/9XX2w97cNsSjkLlxlbX7MEqQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAGJFr7uM3N+KOsW51dGINJvlXC70cWOImdk8ZmK59r9AiEAgtGo4UR9RO9y7duYSr3AtcaNKEGeGs1MHCzd2cNfxxA="}]},"gitHead":"066bc4d03d2d058ff534be1949120a41d0507464","homepage":"https://github.com/kainpl/express-sticky-cluster#readme","keywords":["express.js","cluster","http-proxy","socket.io","sticky-cluster","sticky-sessions"],"license":"MIT","main":"index.js","maintainers":[{"name":"kain_pl","email":"pushkar.valeriy@gmail.com"}],"name":"express-sticky-cluster","optionalDependencies":{},"repository":{"type":"git","url":"git+https://github.com/kainpl/express-sticky-cluster.git"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"version":"0.1.4","_id":"express-sticky-cluster@0.1.4","_shasum":"fc0ddbef1f5345868d6416888f31dfc8983c12bd","_from":".","_npmVersion":"3.10.6","_nodeVersion":"4.5.0","_npmUser":{"name":"kain_pl","email":"pushkar.valeriy@gmail.com"},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/express-sticky-cluster-0.1.4.tgz_1474059822927_0.7042078690137714"}},"1.0.1":{"author":{"name":"Valeriy V. Pushkar","email":"pushkar.valeriy@gmail.com"},"bugs":{"url":"https://github.com/kainpl/express-sticky-cluster/issues"},"dependencies":{"http-proxy":"*","cookie":"*"},"description":"Sticky session balancer based on a cluster and node-http-proxy modules, with express and socket.io support","devDependencies":{},"directories":{},"homepage":"https://github.com/kainpl/express-sticky-cluster#readme","keywords":["express.js","cluster","http-proxy","socket.io","sticky-cluster","sticky-sessions"],"license":"MIT","main":"index.js","maintainers":[{"name":"kain_pl","email":"pushkar.valeriy@gmail.com"}],"name":"express-sticky-cluster","optionalDependencies":{},"repository":{"type":"git","url":"git+https://github.com/kainpl/express-sticky-cluster.git"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"version":"1.0.1","gitHead":"4c94869a37a6f832cd1ee21ed8d3ef217f68e8b0","_id":"express-sticky-cluster@1.0.1","_shasum":"0dccf95dff2d0f1fc4bb22fedd0508043e34ebb7","_from":".","_npmVersion":"3.10.6","_nodeVersion":"4.5.0","_npmUser":{"name":"kain_pl","email":"pushkar.valeriy@gmail.com"},"dist":{"shasum":"0dccf95dff2d0f1fc4bb22fedd0508043e34ebb7","tarball":"https://registry.npmjs.org/express-sticky-cluster/-/express-sticky-cluster-1.0.1.tgz","integrity":"sha512-RqHbYD3EfqjOiz8kiuuCahVc/osUfiMvIpf11O+UT8lL8o7jRfHCJS1Pet2ODjcjPGb9E2ogGGP5TleqGOXOsQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE/sDZ4YmlJL5MoWYsVU1HiD88/ztrNMaFRh8RRaQ5B8AiEA9f+PPfRK64rt/Pfv2/zx1paarjBfYQ5hw50lEiUHJic="}]},"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/express-sticky-cluster-1.0.1.tgz_1474137471020_0.22079441626556218"}},"1.0.2":{"author":{"name":"Valeriy V. Pushkar","email":"pushkar.valeriy@gmail.com"},"bugs":{"url":"https://github.com/kainpl/express-sticky-cluster/issues"},"dependencies":{"http-proxy":"*","cookie":"*"},"description":"Sticky session balancer based on a cluster and node-http-proxy modules, with express and socket.io support","devDependencies":{},"directories":{},"homepage":"https://github.com/kainpl/express-sticky-cluster#readme","keywords":["express","cluster","http-proxy","socket.io","sticky-cluster","sticky-sessions"],"license":"MIT","main":"index.js","maintainers":[{"name":"kain_pl","email":"pushkar.valeriy@gmail.com"}],"name":"express-sticky-cluster","optionalDependencies":{},"repository":{"type":"git","url":"git+https://github.com/kainpl/express-sticky-cluster.git"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"version":"1.0.2","gitHead":"f31d6f26f3e5950f0e3b41c0e8a4af379ca6e199","_id":"express-sticky-cluster@1.0.2","_shasum":"369fec555ba4aae1cc1f2d33a2a707a07a272f3e","_from":".","_npmVersion":"3.10.6","_nodeVersion":"4.5.0","_npmUser":{"name":"kain_pl","email":"pushkar.valeriy@gmail.com"},"dist":{"shasum":"369fec555ba4aae1cc1f2d33a2a707a07a272f3e","tarball":"https://registry.npmjs.org/express-sticky-cluster/-/express-sticky-cluster-1.0.2.tgz","integrity":"sha512-1oaLyAp52DAVq0nWr9VtvxMlOp+imtAlA35bPHNSgcIyRov2wLMJJz+EqwItdja5yZ8HYBTEo0QVjKzo8U/YcA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEXhVwUNMYlapQCNSw9eFROCnLHSfrsBBRxxDGzE0DotAiEAwF8neZjXSIPaqu+lnWrH9tfzSzf5M+iT2EiV90OWKNM="}]},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/express-sticky-cluster-1.0.2.tgz_1474149268016_0.21525130211375654"}},"1.1.0":{"author":{"name":"Valeriy V. Pushkar","email":"pushkar.valeriy@gmail.com"},"bugs":{"url":"https://github.com/kainpl/express-sticky-cluster/issues"},"dependencies":{"http-proxy":"*","cookie":"*"},"description":"Sticky session balancer based on a cluster and node-http-proxy modules, with express and socket.io support","devDependencies":{},"directories":{},"homepage":"https://github.com/kainpl/express-sticky-cluster#readme","keywords":["express","cluster","http-proxy","socket.io","sticky-cluster","sticky-sessions"],"license":"MIT","main":"index.js","maintainers":[{"name":"kain_pl","email":"pushkar.valeriy@gmail.com"}],"name":"express-sticky-cluster","optionalDependencies":{},"repository":{"type":"git","url":"git+https://github.com/kainpl/express-sticky-cluster.git"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"version":"1.1.0","gitHead":"7352bd6a6238cf9679c8987bf2d8263a2db0da7d","_id":"express-sticky-cluster@1.1.0","_shasum":"e7409a436a56ba0830faed89363f2490cbe095bb","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.9.4","_npmUser":{"name":"kain_pl","email":"pushkar.valeriy@gmail.com"},"dist":{"shasum":"e7409a436a56ba0830faed89363f2490cbe095bb","tarball":"https://registry.npmjs.org/express-sticky-cluster/-/express-sticky-cluster-1.1.0.tgz","integrity":"sha512-qulsNfh/3L0xr1mZPev483bMPA2e6NxBozdISv40VyWvp63fIeW/NkqKp8/sh9U5Fmp4lWEYCS34UQR0YQLCcw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD56XNpuB5O3qTLRZYNehDoJMLLpCDy3I9AY3wTZL0ypwIgMofHJxsHvCt7RnzaHcg4+1GEWvtVBwH7rFaCiCtZk/U="}]},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/express-sticky-cluster-1.1.0.tgz_1483740756285_0.45476737432181835"}},"1.1.1":{"author":{"name":"Valeriy V. Pushkar","email":"pushkar.valeriy@gmail.com"},"bugs":{"url":"https://github.com/kainpl/express-sticky-cluster/issues"},"dependencies":{"http-proxy":"*","cookie":"*"},"description":"Sticky session balancer based on a cluster and node-http-proxy modules, with express and socket.io support","devDependencies":{},"directories":{},"homepage":"https://github.com/kainpl/express-sticky-cluster#readme","keywords":["express","cluster","http-proxy","socket.io","sticky-cluster","sticky-sessions"],"license":"MIT","main":"index.js","maintainers":[{"name":"kain_pl","email":"pushkar.valeriy@gmail.com"}],"name":"express-sticky-cluster","optionalDependencies":{},"repository":{"type":"git","url":"git+https://github.com/kainpl/express-sticky-cluster.git"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"version":"1.1.1","gitHead":"8c772967d843e2aed410a241de9953d7d48c1164","_id":"express-sticky-cluster@1.1.1","_shasum":"28806525cdec2e70723ba40383e56d26b9909ee0","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.9.4","_npmUser":{"name":"kain_pl","email":"pushkar.valeriy@gmail.com"},"dist":{"shasum":"28806525cdec2e70723ba40383e56d26b9909ee0","tarball":"https://registry.npmjs.org/express-sticky-cluster/-/express-sticky-cluster-1.1.1.tgz","integrity":"sha512-R0vjEKmN3xos41vfLKXNAnYKUPa1hv3EDzn1ivcY3KU4TVx0ybvdROMWF0CebA6rFE0o717tDbmzJ1bq2+v++Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBkTqDoBYZU0jPfkhy+Jl5jwuRnpZFF+zGyxVWFUhAEXAiEA03nsZEm2X+5SfHiTQpU/2OwUdCHRmMdqZMN2CUOToG8="}]},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/express-sticky-cluster-1.1.1.tgz_1483745243653_0.10881539294496179"}},"1.1.2":{"author":{"name":"Valeriy V. Pushkar","email":"pushkar.valeriy@gmail.com"},"bugs":{"url":"https://github.com/kainpl/express-sticky-cluster/issues"},"dependencies":{"http-proxy":"*","cookie":"*"},"description":"Sticky session balancer based on a cluster and node-http-proxy modules, with express and socket.io support","devDependencies":{},"directories":{},"homepage":"https://github.com/kainpl/express-sticky-cluster#readme","keywords":["express","cluster","http-proxy","socket.io","sticky-cluster","sticky-sessions"],"license":"MIT","main":"index.js","maintainers":[{"name":"kain_pl","email":"pushkar.valeriy@gmail.com"}],"name":"express-sticky-cluster","optionalDependencies":{},"repository":{"type":"git","url":"git+https://github.com/kainpl/express-sticky-cluster.git"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"version":"1.1.2","gitHead":"3a27c314ff99d6bd04dab0ea1947d02387725f63","_id":"express-sticky-cluster@1.1.2","_shasum":"9b8091a8cac56001d63387e7bf71c02e9efee395","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.9.4","_npmUser":{"name":"kain_pl","email":"pushkar.valeriy@gmail.com"},"dist":{"shasum":"9b8091a8cac56001d63387e7bf71c02e9efee395","tarball":"https://registry.npmjs.org/express-sticky-cluster/-/express-sticky-cluster-1.1.2.tgz","integrity":"sha512-uOce2ObkS2QsbqGfzMbOUGAv+XmWYzBXQYP7w1LRPSmz5Hqeho7YKH+hvCgMLaPYQ1K3cHyaHNoYH18+QZlfKA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB1A/FVXPn39/xdPubWF/yQPUNYlhCsb3BjcuC/vbmKkAiAg3j883Q19oTrN2jVusWygzG3hlSSRt4c8IleqC3nang=="}]},"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/express-sticky-cluster-1.1.2.tgz_1483835333185_0.6349160438403487"}},"1.1.3":{"author":{"name":"Valeriy V. Pushkar","email":"pushkar.valeriy@gmail.com"},"bugs":{"url":"https://github.com/kainpl/express-sticky-cluster/issues"},"dependencies":{"cookie-parser":"*","http-proxy":"*","uuid":"*"},"description":"Sticky session balancer based on a cluster and node-http-proxy modules, with express and socket.io support","devDependencies":{},"directories":{},"homepage":"https://github.com/kainpl/express-sticky-cluster#readme","keywords":["express","cluster","http-proxy","socket.io","sticky-cluster","sticky-sessions"],"license":"MIT","main":"index.js","maintainers":[{"name":"kain_pl","email":"pushkar.valeriy@gmail.com"}],"name":"express-sticky-cluster","optionalDependencies":{},"repository":{"type":"git","url":"git+https://github.com/kainpl/express-sticky-cluster.git"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"version":"1.1.3","gitHead":"88da4609981bb5f46bbd3a951b3ac87068f16fe6","_id":"express-sticky-cluster@1.1.3","_shasum":"d33a19ae6650d258ea5337a1d7a3a1a7b5b0f609","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.9.4","_npmUser":{"name":"kain_pl","email":"pushkar.valeriy@gmail.com"},"dist":{"shasum":"d33a19ae6650d258ea5337a1d7a3a1a7b5b0f609","tarball":"https://registry.npmjs.org/express-sticky-cluster/-/express-sticky-cluster-1.1.3.tgz","integrity":"sha512-Pqn7UoFfqDj13zIkeLYUPfUN1Dp5nJ0VH/LgDYkv4Jyz0+eaJtRyMAtdmQ20RZnOUdQGRUxY4cR3c4wYWoryKA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCDOM1iCQkDbwdEKHs4z1bwBomEdxFQj4BMyp4XE0xesAIhALKfXbzdRcTLm7fnAYyNKDaPrd5qEUwgBTdhJ8FBegWK"}]},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/express-sticky-cluster-1.1.3.tgz_1483840503258_0.1254995136987418"}},"1.1.4":{"author":{"name":"Valeriy V. Pushkar","email":"pushkar.valeriy@gmail.com"},"bugs":{"url":"https://github.com/kainpl/express-sticky-cluster/issues"},"dependencies":{"cookie":"*","http-proxy":"*","uuid":"*"},"description":"Sticky session balancer based on a cluster and node-http-proxy modules, with express and socket.io support","devDependencies":{},"directories":{},"homepage":"https://github.com/kainpl/express-sticky-cluster#readme","keywords":["express","cluster","http-proxy","socket.io","sticky-cluster","sticky-sessions"],"license":"MIT","main":"index.js","maintainers":[{"name":"kain_pl","email":"pushkar.valeriy@gmail.com"}],"name":"express-sticky-cluster","optionalDependencies":{},"repository":{"type":"git","url":"git+https://github.com/kainpl/express-sticky-cluster.git"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"version":"1.1.4","gitHead":"a29ad386cfd770c5e014788ee3ea226152ae4d95","_id":"express-sticky-cluster@1.1.4","_shasum":"5e2bf6c1ea0da65de64f7301b9294868db20fdfd","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.9.4","_npmUser":{"name":"kain_pl","email":"pushkar.valeriy@gmail.com"},"dist":{"shasum":"5e2bf6c1ea0da65de64f7301b9294868db20fdfd","tarball":"https://registry.npmjs.org/express-sticky-cluster/-/express-sticky-cluster-1.1.4.tgz","integrity":"sha512-gkUJ9HXtDZ5l9Pj4sQ6oVsycQnyY3YEmOn0eRHqARDiDB4zrbPKLp/IwpVyYOR0BLhQcy4JfNRWsn3pv87jElg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGWuu6zD47WDcV7XiFZaUXaOOJCitvEGz0RXt6h2YAXmAiEA1h63LSCxD6kv/7mAsXFb+zp1HT3/lgsJw0A/SrL4FjQ="}]},"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/express-sticky-cluster-1.1.4.tgz_1484024330309_0.17293018172495067"}},"1.2.0":{"author":{"name":"Valeriy V. Pushkar","email":"pushkar.valeriy@gmail.com"},"bugs":{"url":"https://github.com/kainpl/express-sticky-cluster/issues"},"dependencies":{"cookie":"*","http-proxy":"*","uuid":"*"},"description":"Sticky session balancer based on a cluster and node-http-proxy modules, with express and socket.io support","devDependencies":{},"directories":{},"homepage":"https://github.com/kainpl/express-sticky-cluster#readme","keywords":["express","cluster","http-proxy","socket.io","sticky-cluster","sticky-sessions"],"license":"MIT","main":"index.js","maintainers":[{"name":"kain_pl","email":"pushkar.valeriy@gmail.com"}],"name":"express-sticky-cluster","optionalDependencies":{},"repository":{"type":"git","url":"git+https://github.com/kainpl/express-sticky-cluster.git"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"version":"1.2.0","gitHead":"d527fa568a1238f1b1e11d95dd01fc773e3a4429","_id":"express-sticky-cluster@1.2.0","_shasum":"0071acf3de0de8bf0429ac2e4b643ad24d6525e3","_from":".","_npmVersion":"4.0.5","_nodeVersion":"6.9.4","_npmUser":{"name":"kain_pl","email":"pushkar.valeriy@gmail.com"},"dist":{"shasum":"0071acf3de0de8bf0429ac2e4b643ad24d6525e3","tarball":"https://registry.npmjs.org/express-sticky-cluster/-/express-sticky-cluster-1.2.0.tgz","integrity":"sha512-YjvXwgMtjl+ToEsO61A9Ea5vHR2UKAr+c482kZQoLp2IZZ6yy5k27LbmZOyjwsEU620p9N2fm4342LxYJQ/Bxw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB23Fdmued+94OZ97MOTb6QCzPyRgUWlHTGOnXafyHJNAiAM4rdt+hQz5ZKLdpXiyw4AcUuxuCEPNwSDA6dOmN+31w=="}]},"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/express-sticky-cluster-1.2.0.tgz_1484045933133_0.10780903859995306"}},"1.2.1":{"author":{"name":"Valeriy V. Pushkar","email":"pushkar.valeriy@gmail.com"},"bugs":{"url":"https://github.com/kainpl/express-sticky-cluster/issues"},"dependencies":{"cookie":"*","http-proxy":"*","uuid":"*"},"description":"Sticky session balancer based on a cluster and node-http-proxy modules, with express and socket.io support","devDependencies":{},"directories":{},"homepage":"https://github.com/kainpl/express-sticky-cluster#readme","keywords":["express","cluster","http-proxy","socket.io","sticky-cluster","sticky-sessions"],"license":"MIT","main":"index.js","maintainers":[{"name":"kain_pl","email":"pushkar.valeriy@gmail.com"}],"name":"express-sticky-cluster","optionalDependencies":{},"repository":{"type":"git","url":"git+https://github.com/kainpl/express-sticky-cluster.git"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"version":"1.2.1","gitHead":"afd81cd86d53d044735cfbffe4065976ae66b2df","_id":"express-sticky-cluster@1.2.1","_shasum":"a19b4696c56dd93a520c6c3c35da1bf90bd94560","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.9.4","_npmUser":{"name":"kain_pl","email":"pushkar.valeriy@gmail.com"},"dist":{"shasum":"a19b4696c56dd93a520c6c3c35da1bf90bd94560","tarball":"https://registry.npmjs.org/express-sticky-cluster/-/express-sticky-cluster-1.2.1.tgz","integrity":"sha512-r7VwD/w4s5k5hm4vJtQ+/FS6lPyQNTWgl1fZ4BWGRCdcwrClbsO4NWOFaAEYkgAjsH78yN0gbzOtdyf1vWp9XA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAT0OxzHp60xvOq4omY7KgQ2eES5dTy9rfQw2gRxJsH1AiAlKSBiHhhshbCw0zrahv9+8lotbSiRF4icCY0oHc9W3w=="}]},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/express-sticky-cluster-1.2.1.tgz_1484083452483_0.949482741067186"}},"1.3.0":{"author":{"name":"Valeriy V. Pushkar","email":"pushkar.valeriy@gmail.com"},"bugs":{"url":"https://github.com/kainpl/express-sticky-cluster/issues"},"dependencies":{"cookie":"*","http-proxy":"*","uuid":"*"},"description":"Sticky session balancer based on a cluster and node-http-proxy modules, with express and socket.io support","devDependencies":{},"directories":{},"homepage":"https://github.com/kainpl/express-sticky-cluster#readme","keywords":["express","cluster","http-proxy","socket.io","sticky-cluster","sticky-sessions"],"license":"MIT","main":"index.js","maintainers":[{"name":"kain_pl","email":"pushkar.valeriy@gmail.com"}],"name":"express-sticky-cluster","optionalDependencies":{},"repository":{"type":"git","url":"git+https://github.com/kainpl/express-sticky-cluster.git"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"version":"1.3.0","gitHead":"54a89d7cc94e987b8f8b86722616986d7e38afce","_id":"express-sticky-cluster@1.3.0","_shasum":"356778fe262266d770c2f08a68c5324ee50a74fc","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.9.4","_npmUser":{"name":"kain_pl","email":"pushkar.valeriy@gmail.com"},"dist":{"shasum":"356778fe262266d770c2f08a68c5324ee50a74fc","tarball":"https://registry.npmjs.org/express-sticky-cluster/-/express-sticky-cluster-1.3.0.tgz","integrity":"sha512-ZtFKkSQaGyzPABVsQRMrNLmmmQQOTq2H40hxLhkCnwwFWq9Gu+b+w8LB9UL3Hy3gZRnfQfmk8VnK7CCdcqVuxA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICxekNY5lp7rttRuX7hmRqReFiO33f3t5N1aRx9bCw83AiBY+NGb/wAfEqhIFOBcL49BA54NkjPuqi6jqYlLncoRGA=="}]},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/express-sticky-cluster-1.3.0.tgz_1484089361122_0.4158870382234454"}},"1.3.1":{"author":{"name":"Valeriy V. Pushkar","email":"pushkar.valeriy@gmail.com"},"bugs":{"url":"https://github.com/kainpl/express-sticky-cluster/issues"},"dependencies":{"cookie":"*","http-proxy":"*","uuid":"*"},"description":"Sticky session balancer based on a cluster and node-http-proxy modules, with express and socket.io support","devDependencies":{},"directories":{},"homepage":"https://github.com/kainpl/express-sticky-cluster#readme","keywords":["express","cluster","http-proxy","socket.io","sticky-cluster","sticky-sessions"],"license":"MIT","main":"index.js","maintainers":[{"name":"kain_pl","email":"pushkar.valeriy@gmail.com"}],"name":"express-sticky-cluster","optionalDependencies":{},"repository":{"type":"git","url":"git+https://github.com/kainpl/express-sticky-cluster.git"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"version":"1.3.1","gitHead":"c85575abbd4603d03c776d186c5f27585cb913d0","_id":"express-sticky-cluster@1.3.1","_shasum":"088506316ec74c944012016bc3de53c7ffbc63c1","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.9.4","_npmUser":{"name":"kain_pl","email":"pushkar.valeriy@gmail.com"},"dist":{"shasum":"088506316ec74c944012016bc3de53c7ffbc63c1","tarball":"https://registry.npmjs.org/express-sticky-cluster/-/express-sticky-cluster-1.3.1.tgz","integrity":"sha512-cxRJaX+idYmexzxvXf+yVc0LAdhXangy7mCMwmZOydqmXoKaLCaPA5VQx5q6jXrgjhsRL5wfq1JN359C9XUSFA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC+jC6Pq0y4EAcCJzlff7huDQlRar7lE0xs269NV2NTjAiEApyTBxLpSIf0AfRtjy6w8ONYkBHxTsQqUZ3AYgydRVV4="}]},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/express-sticky-cluster-1.3.1.tgz_1484107568407_0.9641598402522504"}},"1.3.2":{"author":{"name":"Valeriy V. Pushkar","email":"pushkar.valeriy@gmail.com"},"bugs":{"url":"https://github.com/kainpl/express-sticky-cluster/issues"},"dependencies":{"cookie":"*","http-proxy":"*"},"description":"Sticky session balancer based on a cluster and node-http-proxy modules, with express and socket.io support","devDependencies":{},"directories":{},"homepage":"https://github.com/kainpl/express-sticky-cluster#readme","keywords":["express","cluster","http-proxy","socket.io","sticky-cluster","sticky-sessions"],"license":"MIT","main":"index.js","maintainers":[{"name":"kain_pl","email":"pushkar.valeriy@gmail.com"}],"name":"express-sticky-cluster","optionalDependencies":{},"repository":{"type":"git","url":"git+https://github.com/kainpl/express-sticky-cluster.git"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"version":"1.3.2","gitHead":"e97809b9fca7ad201fc1894eb69294faa65cf40c","_id":"express-sticky-cluster@1.3.2","_shasum":"45541f107571a1d4dbad070e053ef3866b83f9e3","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.9.4","_npmUser":{"name":"kain_pl","email":"pushkar.valeriy@gmail.com"},"dist":{"shasum":"45541f107571a1d4dbad070e053ef3866b83f9e3","tarball":"https://registry.npmjs.org/express-sticky-cluster/-/express-sticky-cluster-1.3.2.tgz","integrity":"sha512-9hlD6FYtg8N2xQyq7K2/O/NNPPbJBe77pBTiEwGY9ALch0ufwgFnaJSe5PYJ6SNRHeWOhFCe8BlbUhyguOadVw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE3sksSJ7Mt2xdMP+7znlu4RXn3cIwHKrg49OVu7zZfrAiEArCHJh8G/60cvCWsp6v+gZXwoA0crnOeU4CSeDYuutmU="}]},"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/express-sticky-cluster-1.3.2.tgz_1484205204869_0.03158113406971097"}},"1.3.3":{"author":{"name":"Valeriy V. Pushkar","email":"pushkar.valeriy@gmail.com"},"bugs":{"url":"https://github.com/kainpl/express-sticky-cluster/issues"},"dependencies":{"cookie":"*","http-proxy":"*"},"description":"Sticky session balancer based on a cluster and node-http-proxy modules, with express and socket.io support","devDependencies":{},"directories":{},"homepage":"https://github.com/kainpl/express-sticky-cluster#readme","keywords":["express","cluster","http-proxy","socket.io","sticky-cluster","sticky-sessions"],"license":"MIT","main":"index.js","maintainers":[{"name":"kain_pl","email":"pushkar.valeriy@gmail.com"}],"name":"express-sticky-cluster","optionalDependencies":{},"repository":{"type":"git","url":"git+https://github.com/kainpl/express-sticky-cluster.git"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"version":"1.3.3","gitHead":"74c1be5f577f707133ae35787a7325f2aeacd929","_id":"express-sticky-cluster@1.3.3","_shasum":"0af8016f218f21275d584bb39511a26a5b5d47c8","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.9.4","_npmUser":{"name":"kain_pl","email":"pushkar.valeriy@gmail.com"},"dist":{"shasum":"0af8016f218f21275d584bb39511a26a5b5d47c8","tarball":"https://registry.npmjs.org/express-sticky-cluster/-/express-sticky-cluster-1.3.3.tgz","integrity":"sha512-gqaBKj/EZL01ccvXV5f02uwzpTstrW8lz+wfs5oUiQ7k9OL14t5blL84C4du9XDwrqEJwKZMAEE53C/BDynBaA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFm8VsDz29t2bQfI3NqiMv26GCv2P5m1XOcX/anWnENnAiEAn6fQ5jJCLlLM8nFOQ0yR+beO6oPh1/FSMBb18hbrXCA="}]},"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/express-sticky-cluster-1.3.3.tgz_1485288162678_0.35758057073689997"}},"1.3.4":{"author":{"name":"Valeriy V. Pushkar","email":"pushkar.valeriy@gmail.com"},"bugs":{"url":"https://github.com/kainpl/express-sticky-cluster/issues"},"dependencies":{"cookie":"*","http-proxy":"*"},"description":"Sticky session balancer based on a cluster and node-http-proxy modules, with express and socket.io support","devDependencies":{},"directories":{},"homepage":"https://github.com/kainpl/express-sticky-cluster#readme","keywords":["express","cluster","http-proxy","socket.io","sticky-cluster","sticky-sessions"],"license":"MIT","main":"index.js","maintainers":[{"name":"kain_pl","email":"pushkar.valeriy@gmail.com"}],"name":"express-sticky-cluster","optionalDependencies":{},"repository":{"type":"git","url":"git+https://github.com/kainpl/express-sticky-cluster.git"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"version":"1.3.4","gitHead":"72df09d2f22169002c1664924ec65c549eed1d2c","_id":"express-sticky-cluster@1.3.4","_npmVersion":"5.6.0","_nodeVersion":"8.9.3","_npmUser":{"name":"kain_pl","email":"pushkar.valeriy@gmail.com"},"dist":{"integrity":"sha512-BdlWtaWtWFhKdIaOG8PwaIKhC2Fj9CDu/4HuJtnkzPpzla3YoEOgwutlwZCN9ROlBVGhLqRO2Z4xTpRXWvyFEw==","shasum":"cc4e3dcbb1a77512758b2742650e21d52d0ee25a","tarball":"https://registry.npmjs.org/express-sticky-cluster/-/express-sticky-cluster-1.3.4.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCcDzYq07Tc0PIx3QX26WfrNin4fzgDOwi/HKf7rxP5FwIhAIuEltTQWlZd6AKUUIyjA7mr6uwOhkXkvQ0j3DyF91K8"}]},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-sticky-cluster-1.3.4.tgz_1514062171239_0.365603803191334"}},"1.3.5":{"author":{"name":"Valeriy V. Pushkar","email":"pushkar.valeriy@gmail.com"},"bugs":{"url":"https://github.com/kainpl/express-sticky-cluster/issues"},"dependencies":{"cookie":"*","http-proxy":"*"},"description":"Sticky session balancer based on a cluster and node-http-proxy modules, with express and socket.io support","devDependencies":{},"directories":{},"homepage":"https://github.com/kainpl/express-sticky-cluster#readme","keywords":["express","cluster","http-proxy","socket.io","sticky-cluster","sticky-sessions"],"license":"MIT","main":"index.js","maintainers":[{"name":"kain_pl","email":"pushkar.valeriy@gmail.com"}],"name":"express-sticky-cluster","optionalDependencies":{},"repository":{"type":"git","url":"git+https://github.com/kainpl/express-sticky-cluster.git"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"version":"1.3.5","gitHead":"37de87fda6fa8319df4e1ca4dcc11b2bfae53898","_id":"express-sticky-cluster@1.3.5","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"kain_pl","email":"pushkar.valeriy@gmail.com"},"dist":{"integrity":"sha512-Qti/3xlgb3q67RSA5IwenZm6LjWMJbVENbyXtANJ4C5vci2KKZbYWubAauQyg1xhaQtUN/4/e8+K+rxZqpZhsQ==","shasum":"41ea07ec953cf9ee077c096b9e7bede2ab78fd64","tarball":"https://registry.npmjs.org/express-sticky-cluster/-/express-sticky-cluster-1.3.5.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCYNA5pBiHcykC+9YnEB7TAkymKoMrmqH/2w8f3eWjjrwIgdZEZinxwtFsLj5cZ2Hnb0BSNqqFt9dw7hcb6zrR3zLA="}]},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/express-sticky-cluster-1.3.5.tgz_1516477970526_0.7302996378857642"}}},"homepage":"https://github.com/kainpl/express-sticky-cluster#readme","keywords":["express","cluster","http-proxy","socket.io","sticky-cluster","sticky-sessions"],"repository":{"type":"git","url":"git+https://github.com/kainpl/express-sticky-cluster.git"},"author":{"name":"Valeriy V. Pushkar","email":"pushkar.valeriy@gmail.com"},"bugs":{"url":"https://github.com/kainpl/express-sticky-cluster/issues"},"license":"MIT","readmeFilename":"README.md","users":{"lwdthe1":true,"ganeshkbhat":true}}