{"_id":"rate-limit-mongo","_rev":"12-ad3c6bd4fdf5e4d9ca70f043f9ca1f56","name":"rate-limit-mongo","dist-tags":{"latest":"2.3.2"},"versions":{"1.0.0":{"name":"rate-limit-mongo","version":"1.0.0","description":"Provides a Mongo store for the express-rate-limit  middleware.","license":"MIT","main":"lib/index.js","repository":{"type":"git","url":"git+ssh://git@github.com/2do2go/rate-limit-mongo.git"},"dependencies":{"twostep":"0.4.2","underscore":"1.9.1","mongodb":"2.x.x || 3.x.x"},"devDependencies":{"expect.js":"0.3.1","jshint":"2.4.4","mocha":"3.5.0","rewire":"4.0.0","sinon":"4.4.2"},"scripts":{"lint":"jshint ./","test":"mocha --reporter spec --bail --timeout 10000 --recursive"},"gitHead":"8c184ceb4529d0db4fb10c9b309436855a68ed6a","bugs":{"url":"https://github.com/2do2go/rate-limit-mongo/issues"},"homepage":"https://github.com/2do2go/rate-limit-mongo#readme","_id":"rate-limit-mongo@1.0.0","_shasum":"28e7bc63c963f751db173eb7c95c0accf691e6c6","_from":".","_npmVersion":"2.15.11","_nodeVersion":"4.9.1","_npmUser":{"name":"2do2go","email":"dev.2do2go@gmail.com"},"dist":{"shasum":"28e7bc63c963f751db173eb7c95c0accf691e6c6","tarball":"https://registry.npmjs.org/rate-limit-mongo/-/rate-limit-mongo-1.0.0.tgz","integrity":"sha512-GSqTNmGfvkdl9SHfAplKF2NciHLW6pbbMfVIB1Lau8c99wbQTq1gVdlsZ8AiQYBQ5G5uDbdIv7hK6s6M34FZ+g==","fileCount":6,"unpackedSize":7250,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbxzobCRA9TVsSAnZWagAAHiIQAJeY1LsDX/L6lyPQBGKS\nrLSznBKveQ3DCBKXlyAEtXwf2N8CU2dp5UvnQXzrKtEOpwmBFw7bJIlLeVtc\nG1flceDSa8DvJuvKqDBvTD63tNpkpMgPI9iqHP8bxfWbw3ve05QAX1Jv8K2t\nsqnO52CYvwRFtTePavrC5wv8fJnPOEkA4nTakXlfATMo4mBkcCZxwYinEne1\nLWWtBv56WLSpmy0UsRUinX53WhFKIc5rB2SFvLRjjbxwqjBvaeWHaPyh0l+G\nTuDex4I3IzsPBW80bk0x1gPIZgqPkz1rbwUIcS3gwHPobqDAQCnYL3uomV+5\nLuJCKca06nugQJ+6rC3TYbYKnbgm84mG5h5Okq2X/HLD7M503i9t/z3e3oCJ\n4q9Pzs6tyE53voF0hRXBT1DRYz3es5lx3MbUecAlcGGjXWDzmdgSM81lu3j3\nHByuyLHmq+14IVpoPig2vahJhznRxA1LnwZViOfyA/bxAGN2lKuZ4A/1m6cj\nGZWaCcrYO28Lsmy98rdAwln+rRrqMHMf4wO13On4u8XyFBFQk/0zFcaQW8TB\nayZtA+BQjq242Jl41rzIHnhytA1s8/C95ycUTaGN/k5dbv2ZE/iQQa4kNa2R\nTlgVQ7n2szr0V74nNoO+B0uraA27om4jhndhxgHq0vLXU7g9prwS5uj/gJBT\nGtTH\r\n=qC+4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICQ8nBRbNW4w7HRvNgRfV66725ahSAXKjU4xFxoR8fHCAiAB7vNzVqC0TgUctObWLQXwwJ+9MeJe1ayxtOln/ufFkA=="}]},"maintainers":[{"name":"2do2go","email":"dev.2do2go@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rate-limit-mongo_1.0.0_1539783195416_0.2797382214990001"},"_hasShrinkwrap":false},"1.0.1":{"name":"rate-limit-mongo","version":"1.0.1","description":"Provides a Mongo store for the express-rate-limit  middleware.","license":"MIT","main":"lib/index.js","repository":{"type":"git","url":"git+ssh://git@github.com/2do2go/rate-limit-mongo.git"},"dependencies":{"twostep":"0.4.2","underscore":"1.9.1","mongodb":"2.x.x || 3.x.x"},"devDependencies":{"expect.js":"0.3.1","jshint":"2.4.4","mocha":"3.5.0","rewire":"4.0.0","sinon":"4.4.2"},"scripts":{"lint":"jshint ./","test":"mocha --reporter spec --bail --timeout 10000 --recursive"},"gitHead":"b1f61fa5055109be2fb83d4927c95f83cc30d2bd","bugs":{"url":"https://github.com/2do2go/rate-limit-mongo/issues"},"homepage":"https://github.com/2do2go/rate-limit-mongo#readme","_id":"rate-limit-mongo@1.0.1","_shasum":"007ad92f6626b0441e98a000aa1689ce1188d79d","_from":".","_npmVersion":"2.15.11","_nodeVersion":"4.9.1","_npmUser":{"name":"2do2go","email":"dev.2do2go@gmail.com"},"dist":{"shasum":"007ad92f6626b0441e98a000aa1689ce1188d79d","tarball":"https://registry.npmjs.org/rate-limit-mongo/-/rate-limit-mongo-1.0.1.tgz","integrity":"sha512-7+h7qo4dCt59XIUbIuqzrbhiYlJFNq2+YzyKQ0jfPZaY18HCirMXQ5lniYN4lG2vp8LuUjvdnnDzjKMI/WntBA==","fileCount":6,"unpackedSize":7250,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbx0PtCRA9TVsSAnZWagAAcFgQAJz55wWH4FZoOkoeCdT9\nyhJYbVYl3ogvsSK8ckCWW2UWesdBNUXlftRT9MJGXJy2usPx3H7mpPyufZ2c\nOEUO7ioMF0gi4CNjj5xYYZ0+860HL1J8W1AIoNxGE7jQIWsD7UnZ8HY9UPwS\nTU2j1MRfNdnHzpzmaFKWeGioLBB4CPlfDVudNw/h3BjibXwPl435IZAKBSFH\nRfxV5/de1DsBOaTXKrSbjCyVnsxAfcAKGd9p5SVFdB2pzeT7AKcNQm9Tlfjb\n4vYo2gEBuHkL8VRHiRW4LSraSSIphDaqfsqyGYVWeT9nVpEh5jBEk9457Vui\nVifCKJQhtcXwHvByEz6gVz1xVtRSldRp8CJtsVTYx7mwL0/bHe/dpS23z1uI\n5UMrqFf6dH3VLwCIMp/6t7fT4jnSef/9Ydb3gXyfiv0vA5D8KPFV15/WCTAD\nXPtfBeQzIRHleUkBwh6QHwN3YO0DDZezCzmwJY3WD0icsqIwVG6rzxk5r86w\nVCS8ozqKqZzyiHBow7wM0qSg+ONAjtChhwrsClmBfj+moYeEeKgGrVGnifil\nKB4SxhNdbLTt57SPWQJpj3dPCH1YaOThVNc1w0LGPAqGTa4SMTExPHxFgMCA\nSHQScx1M8SA+zQ2L9DIrfa2QOzzO/5M1YZfm783NYrzfleqzZRQ0JgJRDN3H\nINDD\r\n=PRpo\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC5SIP53hUWIIShGLQkbIrzMepMcmxUKG5HBo96VGLqPAiBQ4UqKvoJ3C1F+5EdQ78z5PbACsx/87dAN1+qRhQGVzg=="}]},"maintainers":[{"name":"2do2go","email":"dev.2do2go@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rate-limit-mongo_1.0.1_1539785708411_0.6397126172790892"},"_hasShrinkwrap":false},"1.0.2":{"name":"rate-limit-mongo","description":"Provides a Mongo store for the express-rate-limit  middleware.","version":"1.0.2","author":{"name":"2do2go team","email":"dev.2do2go@gmail.com"},"license":"MIT","main":"lib/index.js","repository":{"type":"git","url":"git+ssh://git@github.com/2do2go/rate-limit-mongo.git"},"keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","security","brute","force","bruteforce","brute-force","attack","mongo","mongodb"],"dependencies":{"twostep":"0.4.2","underscore":"1.9.1","mongodb":"3.x.x"},"devDependencies":{"expect.js":"0.3.1","jshint":"2.4.4","mocha":"3.5.0","rewire":"4.0.0","sinon":"4.4.2"},"scripts":{"lint":"jshint ./","test":"mocha --reporter spec --bail --timeout 10000 --recursive"},"gitHead":"04052632ae4123eba000f5982da05b8a3402fafe","bugs":{"url":"https://github.com/2do2go/rate-limit-mongo/issues"},"homepage":"https://github.com/2do2go/rate-limit-mongo#readme","_id":"rate-limit-mongo@1.0.2","_shasum":"5a9db4f3e8bd300349f6c1be73b55243dd5fe369","_from":".","_npmVersion":"2.15.11","_nodeVersion":"4.9.1","_npmUser":{"name":"2do2go","email":"dev.2do2go@gmail.com"},"dist":{"shasum":"5a9db4f3e8bd300349f6c1be73b55243dd5fe369","tarball":"https://registry.npmjs.org/rate-limit-mongo/-/rate-limit-mongo-1.0.2.tgz","integrity":"sha512-eovkJeppQt6b16Noc06flWWYXfSliysgC+/wovwmCsRn1JNzQba/eNZ9M3uWvvlQFIR9XN11j9EXuThWqCelCQ==","fileCount":6,"unpackedSize":7476,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbyD/qCRA9TVsSAnZWagAA+MgP/R/x5codAPO+hg+EViq2\nS26t9Q5wIBL88+5hRPn4ASWBNPqNyshc+j1c0Jk+gknHaW65khU+hH/ZmCrA\npjraboXR0qpj7yBEr5dBzh5px+0NkL6ppS+4RBt2996W5sguLO9YPViuXC1Q\nktrM99u6moE4l//GeUoZxnms6rbrPqVQiX2kg9u5x3l5zz6a4Ggjl75uGIKd\newEOIo/d2BnUlXqyMmSHxYgoFIk00ZGCzeTzuhEreF9iz4vDL4uRQlxgT9AI\nga5ehKbALar85cBHndQ2MQwJcbkV45My10tZjp2K2JSQUbb9KvZvTDc99rkt\n94k9SaQc0jhoG84XYlfFFM4e1BmYn1qPhiL+7hk+6L/6+Fhm2asBqr1vDaIZ\ncGPuhpM3IR38PCQmOlCTuMgU/sJK22k+KthCaGSusNLiNMC6u/2CDDLOr9rj\n0KOsNjPC8pgqHkireG0w0TNMrJW3GDU8qn8ctExcaJP97/XQf0KJX+wem/VA\n5p4O09bEel4FrkQNgIIHRJTr1YtgIr8pwCQPFGrOhuOFQKtp8HLtYpL4A+wk\ngBUXx9PhqUvqvKG/+e73HwYeTJjRDNjKTjBpoa6qRhTL3jBxTc5BPbhzPUH+\ntxnQSlWCWvor01rY7n1nYePtctZVrafdn1TYIcnv711zBL4OFyTpZ4W6zU9/\nOIS6\r\n=/lT7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCDwNU8QnxinkoYIwlq+2DqDvpvYEZ0EGuay1fvRhtjxwIgEU/I05MxgxSCJMDMlivlll9tUKWLvH7BvmLKpTQEmos="}]},"maintainers":[{"name":"2do2go","email":"dev.2do2go@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rate-limit-mongo_1.0.2_1539850217357_0.08237153323442747"},"_hasShrinkwrap":false},"1.0.3":{"name":"rate-limit-mongo","description":"Provides a Mongo store for the express-rate-limit  middleware.","version":"1.0.3","author":{"name":"2do2go team","email":"dev.2do2go@gmail.com"},"license":"MIT","main":"lib/index.js","repository":{"type":"git","url":"git+ssh://git@github.com/2do2go/rate-limit-mongo.git"},"keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","security","brute","force","bruteforce","brute-force","attack","mongo","mongodb"],"dependencies":{"twostep":"0.4.2","underscore":"1.9.1","mongodb":"3.x.x"},"devDependencies":{"expect.js":"0.3.1","jshint":"2.4.4","mocha":"3.5.0","rewire":"4.0.0","sinon":"4.4.2"},"scripts":{"lint":"jshint ./","test":"mocha --reporter spec --bail --timeout 10000 --recursive"},"gitHead":"e00f8ff8793388c31cf667a59d5b066b1c1b2d96","bugs":{"url":"https://github.com/2do2go/rate-limit-mongo/issues"},"homepage":"https://github.com/2do2go/rate-limit-mongo#readme","_id":"rate-limit-mongo@1.0.3","_shasum":"8f802a48442b848eb814daf24e7c0566910657f9","_from":".","_npmVersion":"2.15.11","_nodeVersion":"4.9.1","_npmUser":{"name":"okv","email":"oleg.korobenko@gmail.com"},"dist":{"shasum":"8f802a48442b848eb814daf24e7c0566910657f9","tarball":"https://registry.npmjs.org/rate-limit-mongo/-/rate-limit-mongo-1.0.3.tgz","integrity":"sha512-V9xloTUi8ooGSBAt0Lmq91Tz56Rct6HGdQtHKaY3halCP+rDOCAKtn82e6nwVT1mN98PEy3qUjP3QMTZ73qp2g==","fileCount":6,"unpackedSize":7612,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbzZD/CRA9TVsSAnZWagAARFkQAJ62Uthm/U+181KXrD4I\nWwAM/gt9Gsely9wzLsnJH5OdRF9aS6+bya5KnOW/M9dYSy42x8pYckS44yXP\n5lcK3bOp1ngsi4KsHJ12xoYwHZ3gGHNwz9we+5+OniGdTredFD4Qd2jfpkDP\nWA5xlUr8j61P4WoFstGPvm8Msv7b+q61pRKJEy85Xiul1g5tv5t+U4+Wi47a\n8o1dovnbdfYbWCnn5Hdk0IdI0xOMc7zWg0hJGfnySwCOWdncKZUZ6gRF2MHz\n/Vnlq9Sye1Gp47Wd+mbYIcwjU2Y+rdibOKkb8+xKWUW3tg/BxEhf5Xyu/6wf\n5LrDH1ODaRqf11Fv6GuND+wCy5Z2P0p+vmiaNM3V8KgOlWml8Mculbhgnyt0\nHt81K5vEb9eHf2I5aNur4Daef6Ntd61IY77ohoRV3OuqT73Jm5Q5CgJoA2/B\n7C35/2ZEes46fhdT2Yo0tWQC75XE3/y68ETVQB/6hOpFfvAAsWZ0zFHFp/4l\nn7TYHxpzOxdha2yiXpoMs/A9isscQpcEG1vfPaRV+1V2q2J3I5uRUhEwjZjK\nHY22hCQHJRUOqL8wVxFlEsqrL5xIsppibOQUGbc3A8KhP+0J2zPoJQuE+NW0\n83TjBrb4KjeTOo39YXNHtf+fHrKxslLyqnMMgYHxhqzCQ8fVJilR5oGFyRdz\nYfk/\r\n=i9Me\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCzcxXkzbJ5W1p/NtcuVe2F6/5YiVqWBU7sHpF8ZPUS9AIhAP3bQT60od64ZXq+C6C6jhlXmWbZVI/R66H/7/RTeWnK"}]},"maintainers":[{"email":"dev.2do2go@gmail.com","name":"2do2go"},{"email":"anton.svet.viktorovich@gmail.com","name":"a.makarov"},{"email":"oleg.korobenko@gmail.com","name":"okv"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rate-limit-mongo_1.0.3_1540198655032_0.7750002530329825"},"_hasShrinkwrap":false},"2.0.0":{"name":"rate-limit-mongo","description":"Provides a Mongo store for the express-rate-limit  middleware.","version":"2.0.0","author":{"name":"2do2go team","email":"dev.2do2go@gmail.com"},"license":"MIT","main":"lib/index.js","repository":{"type":"git","url":"git+ssh://git@github.com/2do2go/rate-limit-mongo.git"},"keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","security","brute","force","bruteforce","brute-force","attack","mongo","mongodb"],"dependencies":{"twostep":"0.4.2","underscore":"1.9.1","mongodb":">= 3.3.4 < 4.0.0"},"devDependencies":{"expect.js":"0.3.1","jshint":"2.4.4","mocha":"3.5.0","rewire":"4.0.0","sinon":"4.4.2"},"scripts":{"lint":"jshint ./","test":"mocha --reporter spec --bail --timeout 10000 --recursive"},"gitHead":"4a9bd30c36f0c08bf128732decf30ecfb170044f","bugs":{"url":"https://github.com/2do2go/rate-limit-mongo/issues"},"homepage":"https://github.com/2do2go/rate-limit-mongo#readme","_id":"rate-limit-mongo@2.0.0","_nodeVersion":"10.17.0","_npmVersion":"6.11.3","_npmUser":{"name":"okv","email":"oleg.korobenko@gmail.com"},"dist":{"integrity":"sha512-RXcHJrMVbwrrccL5OXkJPAsDJXugXAc/TPxRJ/nSpecqgNuMObVopStUHJteJ5zHwRuvRnOZn4CmbxTGWgKoSA==","shasum":"cc30971209ce88b6bf2b898a7815d559806aa946","tarball":"https://registry.npmjs.org/rate-limit-mongo/-/rate-limit-mongo-2.0.0.tgz","fileCount":6,"unpackedSize":8063,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdyqpDCRA9TVsSAnZWagAAdLEP/20P/RyVkf+7qM9H/kxL\np0vz1XM7v7YpVhY0puEVpBEiXYGQ/WnCF/Nu6mPBmh93n/sknom0Vo0NnIpG\nOyJ5ahXOrPUpQhkaOoAW8Yq9SgRGbFffm23mnVumYbpYnV4s4+aH7wddU9G6\njstI8wGASn5t4qqnt8HEO805k12KLCWnDKHCf3ZdEYIKCrVtJpuRrKji2k+h\nDJ+I7ShHjjXdY1bCeSYdZnCukjyrV4h3OH4V+9AGialSvQwmwBCuIs+QqGU9\nP7aUveJP/E4LvtfO0W5gD9gYmDhoGk0LpWzF+UOvcpU2xkrWhWUmt2B6VLI2\nWffRxCPjy9ZjLEZmpYeuZtw7CPBAqJlVKGshiz6IEHCxaPhQfugXWjswBsQL\ntHcHooxvYPVSPEoCOFjwkP9OpuLv3fvyYO12NYH86Lu1/NGCBqOQ9NTn3+PY\nfKVYNNlQSdKCDS/hhkK4quVKvSuuGh7k6d6oGCZ0Yc9mIZ4XL88k6WVtMtgp\nTRkC3BoMrFtk3SQNZ9U+B0sNSnFfDIAwV80KyYp7b9JDnj7OymGy1Y5j88Ok\nWbRmIgroffRQTcWEN/14FmRaKO7eUQPpNDfuEYqGhK2FC9ZEHkvhvcemZzkv\n2cujs8EgMs9BalzA7/cOx6ewGpB0DudS9aYhqcHYcjGMJ7Pwxw3Tdesan0U3\neNx1\r\n=Sb7y\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBvZKtbHHoY1CSZ1jwZbY9x+UxutF7imnmDJP0+VtzamAiAjmAjVlozm5XhBnsR2jy+XVecj1zwOas9m2iVODLEM4g=="}]},"maintainers":[{"email":"dev.2do2go@gmail.com","name":"2do2go"},{"email":"anton.svet.viktorovich@gmail.com","name":"a.makarov"},{"email":"oleg.korobenko@gmail.com","name":"okv"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rate-limit-mongo_2.0.0_1573562947234_0.6573746237631921"},"_hasShrinkwrap":false},"2.1.0":{"name":"rate-limit-mongo","description":"Provides a Mongo store for the express-rate-limit  middleware.","version":"2.1.0","author":{"name":"2do2go team","email":"dev.2do2go@gmail.com"},"license":"MIT","main":"lib/index.js","repository":{"type":"git","url":"git+ssh://git@github.com/2do2go/rate-limit-mongo.git"},"keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","security","brute","force","bruteforce","brute-force","attack","mongo","mongodb"],"dependencies":{"twostep":"0.4.2","underscore":"1.9.1","mongodb":">= 3.3.4 < 4.0.0"},"devDependencies":{"coveralls":"3.0.7","expect.js":"0.3.1","jshint":"2.10.3","mocha":"5.2.0","nyc":"14.1.1","rewire":"4.0.1","sinon":"7.5.0"},"scripts":{"lint":"jshint ./","test":"mocha --reporter spec --bail --timeout 10000 --recursive","makeCodeCoverageDetailReport":"nyc --all --exclude migrations --exclude coverage --exclude test --reporter lcov --reporter html  npm test -- --reporter dot && echo \"*** Code coverage report done, checkout ./coverage dir\"","makeCodeCoverageSummaryReport":"nyc --all --exclude migrations --exclude coverage --exclude test --reporter text-summary npm test -- --reporter dot"},"gitHead":"55d090d61535e1b2f300df2f47667276d2cd7bb3","bugs":{"url":"https://github.com/2do2go/rate-limit-mongo/issues"},"homepage":"https://github.com/2do2go/rate-limit-mongo#readme","_id":"rate-limit-mongo@2.1.0","_npmVersion":"6.4.1","_nodeVersion":"8.16.1","_npmUser":{"name":"okv","email":"oleg.korobenko@gmail.com"},"dist":{"integrity":"sha512-Rwbj6UXjxd54JljIDiEO+6Hj09BrrD6izX+6xEnP7l0/xAaZvY9rhuNSbk3UNWolMHyIH1B/FeRty503WBKRPA==","shasum":"abc73de4ad3eb34e42c700b5b0b6f80e7866ef42","tarball":"https://registry.npmjs.org/rate-limit-mongo/-/rate-limit-mongo-2.1.0.tgz","fileCount":6,"unpackedSize":10144,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd0DY7CRA9TVsSAnZWagAAxasP/33PKlVFwoHXp4B9ZFAv\nH5HxDB6Ze4RlwOH5dMWpNzepyrXK+ytVSEP1WZYEi9J6lX+Q4FOAGmsSLryo\nFtagRlljuBbvAG+AKpFOh/9hN6EkLO8oKYQPqBzz9F2SP67JIdC+MhPYpqFM\nfSEWJS4qybjge6TbjyaZMptnQH0M563XAB/8s5KA1KL4BHdpUvjnZdG7qohb\n8NYsyv0piTvFiWBaLY4OHytwzEUzJYxWFO56AbdfiS8FfegTPgexRuO1qkSx\nLwdTqmIfokTObCddr3cujXX5b2kS61A8bZGDUXuEnIm713ItZFxI7F++Q+SE\nONLRJyajUWxTaMLZrirM0jUd//qqi2+arIA3gT02i3hsmjApSjSWSFPCxPuL\n38WVRzK0GCsEcwnZ3meiMYKFB+bE745VeVSrCFC7Mpe4ONxGS0e3sAXlSSbt\naa2WzMU2Q5C12+btZTrEaL1Llj1ym9Hpp5oUi+lzSOkWTX4vBtw8N6PSrIuZ\nBk0DF5xKGEzHZm7vff8nQ/u7pkfrrhl/rvhm7u73s+QeaxCarNi2pCaRBEp9\nh4R7xlBpUh5P+5alWAcP15sON1vUHdMyGXDFi1rO8tdDE6ziHq9LXBxxhHmj\ns+DtcswvWEEHg4zW5JblVQceGjJW3s4gphKqDeAYUFIO+JOUSfVcZLsPXVPx\ndQh5\r\n=OG/8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHa9d4qm5bF97wMfJmFJnPnZp/SLudczZWb/25faf7lDAiAGK19k+PZF9tLKY2fDKs/bkb8wD1Y/laIGtu0YqN2pkA=="}]},"maintainers":[{"email":"dev.2do2go@gmail.com","name":"2do2go"},{"email":"anton.svet.viktorovich@gmail.com","name":"a.makarov"},{"email":"oleg.korobenko@gmail.com","name":"okv"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rate-limit-mongo_2.1.0_1573926458756_0.16704229339018473"},"_hasShrinkwrap":false},"2.2.0":{"name":"rate-limit-mongo","description":"Provides a Mongo store for the express-rate-limit  middleware.","version":"2.2.0","author":{"name":"2do2go team","email":"dev.2do2go@gmail.com"},"license":"MIT","main":"lib/index.js","repository":{"type":"git","url":"git+ssh://git@github.com/2do2go/rate-limit-mongo.git"},"keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","security","brute","force","bruteforce","brute-force","attack","mongo","mongodb"],"dependencies":{"twostep":"0.4.2","underscore":"1.9.1","mongodb":">= 3.3.4 < 4.0.0"},"devDependencies":{"coveralls":"3.1.0","expect.js":"0.3.1","jshint":"2.10.3","mocha":"5.2.0","nyc":"15.0.1","rewire":"4.0.1","sinon":"7.5.0"},"scripts":{"lint":"jshint ./","test":"mocha --reporter spec --bail --timeout 10000 --recursive","makeCodeCoverageDetailReport":"nyc --all --exclude migrations --exclude coverage --exclude test --reporter lcov --reporter html  npm test -- --reporter dot && echo \"*** Code coverage report done, checkout ./coverage dir\"","makeCodeCoverageSummaryReport":"nyc --all --exclude migrations --exclude coverage --exclude test --reporter text-summary npm test -- --reporter dot"},"gitHead":"91d3918dd5337f5ffab8ecbd3aaf2f2848c7626a","bugs":{"url":"https://github.com/2do2go/rate-limit-mongo/issues"},"homepage":"https://github.com/2do2go/rate-limit-mongo#readme","_id":"rate-limit-mongo@2.2.0","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","_npmUser":{"name":"okv","email":"oleg.korobenko@gmail.com"},"dist":{"integrity":"sha512-Qya2MEXnCSSXheyFTz0+MLWU3W6FPYgqli9IoXsNuqt81Kymnz0/HE4WMzTvy+eEOk07SVoAhkUuUN2k/NRFEQ==","shasum":"f9e77652c68cd75cb74823cca2283700dbf725db","tarball":"https://registry.npmjs.org/rate-limit-mongo/-/rate-limit-mongo-2.2.0.tgz","fileCount":6,"unpackedSize":10571,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeyBxECRA9TVsSAnZWagAAWoYP/i85Fvf6yYTlXPZOctVE\nsE4eIfKCSctLexJPckZccQkttjohCBT8EvIRZ/9/079u+cLWM2SuJYCE77gT\nEDzjdicIM0g93dobBlBp+/dHl/xWFbcHvmoOvuDaOrSpIjY+w6i23H+kBVsV\nT0E4hbZ2gq0YzI2o2Izt7XnaW4s+1I6TVuuxuqrDU8x1jEkdEgsH73ptH1BI\n906IOukwGQhr0uEGdGAhcCnOb9qUPbY76G0xtCgwyrgXYPvTJ/HOytsw+JSl\ndN8pbVKmXf2tgYInsleM44r+LH7HE/nbTPr1KUjgZ09kP9+9R6ajNiIzhIeS\nW1owRoB5l+VVE7L4vVvPCkRtFkX2ld+DUZ0zsYGjKMBizEcs5qShrnE5x7dy\njnrf5lx4onZeP/rZ4xDKRZb+T5LfPRkV+eLoLYrgrvnsgA9JV8zgI+looGA1\nM13RFb2AcNzKz+vxujEb1OCXe/tfaV2+Np/Wdn3MYX72sEVFPqa3+z85TyNz\n9K0fFKCCr3Cc2ItV2js3HrPlz99/euvqbWna9zO43nEXAwjoyu8VzgEVSeQY\njXmrNg8ggOx7UddmylTvmYUwGpr0RkswTVwakvrFpf1eMQS5CrcduoKkIfvQ\nAGRxqoHRhKY/ilfirRqgWJBvpH6QC49lXTF+QlsSj14CSd/Zd/SbOrp6FuNo\nXDO2\r\n=xJcp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDNxnOQz8DTEH/XIhBMu00BS6iEisrrgfyiuDzdpnkpAAiBoUl1pn96ZymU9p3vRbDeBek0dkynOvm4omO0IPJ2ahQ=="}]},"maintainers":[{"email":"dev.2do2go@gmail.com","name":"2do2go"},{"email":"anton.svet.viktorovich@gmail.com","name":"a.makarov"},{"email":"oleg.korobenko@gmail.com","name":"okv"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rate-limit-mongo_2.2.0_1590172740099_0.11946968001383573"},"_hasShrinkwrap":false},"2.3.0":{"name":"rate-limit-mongo","description":"Provides a Mongo store for the express-rate-limit  middleware.","version":"2.3.0","author":{"name":"2do2go team","email":"dev.2do2go@gmail.com"},"license":"MIT","main":"lib/index.js","repository":{"type":"git","url":"git+ssh://git@github.com/2do2go/rate-limit-mongo.git"},"keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","security","brute","force","bruteforce","brute-force","attack","mongo","mongodb"],"dependencies":{"mongodb":">= 3.3.4 < 4.0.0","twostep":"0.4.2","underscore":"1.11.0"},"devDependencies":{"coveralls":"3.1.0","expect.js":"0.3.1","jshint":"2.10.3","mocha":"5.2.0","nyc":"15.0.1","rewire":"4.0.1","sinon":"7.5.0"},"scripts":{"lint":"jshint ./","test":"mocha --reporter spec --bail --timeout 10000 --recursive","makeCodeCoverageDetailReport":"nyc --all --exclude migrations --exclude coverage --exclude test --reporter lcov --reporter html  npm test -- --reporter dot && echo \"*** Code coverage report done, checkout ./coverage dir\"","makeCodeCoverageSummaryReport":"nyc --all --exclude migrations --exclude coverage --exclude test --reporter text-summary npm test -- --reporter dot"},"gitHead":"ddae22f31ed5bd727bf91e7ac1af266cafd93df3","bugs":{"url":"https://github.com/2do2go/rate-limit-mongo/issues"},"homepage":"https://github.com/2do2go/rate-limit-mongo#readme","_id":"rate-limit-mongo@2.3.0","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-08WZ0QL3P6n8krj/O3dDYia701QHJVH0zvxHD6uqsBJzCmAV8Zdw1g6uJLK/0qEjXaRiYVQ3LuAZ945o9a80Xw==","shasum":"0764fd283b9690901f5bc5f7d64be94d55e65644","tarball":"https://registry.npmjs.org/rate-limit-mongo/-/rate-limit-mongo-2.3.0.tgz","fileCount":6,"unpackedSize":10924,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfdMODCRA9TVsSAnZWagAAGjwP/RnAcCBx4D6cYGDXwjWL\n9v6/YlxYUlEfrRNVPPfnJZumBDiDKEs1PNC49ruT6G03rasepaeHiWeeaI7Y\n0UCDC1A5Rxoi9Ewrvr/r2c8TK1a3OnkeIuILjiUm25o9oO23UD/0WQ/DAnKx\nGWBvgwBr7O6SvF5Gi1e6JV3PWuoGk544JnVFc+jP95f2XY6aXKOnY+pDeRV0\nYkKZ3I0L5NSTq/jQSRdgO+sZq61SJg5ug2YwTq6VdfrICpNyfYtZK69yaRHY\nJ+WvSwTNjSChRodivHUgTM2O5QBvBZdv6EFfD+nfJB5IpfQ3nVwATDTLYvUn\nk38nTe78+wq6i8nWvElinIEF+FNbITsSxCmIbZdTXSv0oOr6WF58ha69jP52\nwgkPIB0pl5QspPZk5f1Fh3lG6J2T678fNOTHG4BbypxyLvopxynt7E9B7o6E\nY833bKZXiLfUUnTL5nanw574ziIuYnrEd+jVP5pKY533RMmuAaCCVc03REnB\nIT2B3Vyn/wq5nUMzhmAmNT48DxpcsrkojAMEk1qno8jCT5w9O1htf0NBAB0i\nXHxiJC27YdUQ4yDn2U4L5twYbWHxYehN4hdXrvhoE6csXj8cXyG70Wj0Tvca\nmzlyTy3pWTl4T4NFVdbcYeDFAM6PD+o10mjl2iOQnqRiM9UiF7maEK38+Pyi\nqpjk\r\n=McaV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCvJ13oSYeX6sahN2UNn5/rztxXwmI22FKMszXVcTinbAIgU2p1Pm1oxCDaX4B5V5OfB9BX8MfXdMP6842GHkFymdg="}]},"maintainers":[{"name":"okv","email":"oleg.korobenko@gmail.com"},{"name":"2do2go","email":"dev.2do2go@gmail.com"},{"name":"a.makarov","email":"anton.svet.viktorovich@gmail.com"}],"_npmUser":{"name":"okv","email":"oleg.korobenko@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rate-limit-mongo_2.3.0_1601487747161_0.7063354338824968"},"_hasShrinkwrap":false},"2.3.1":{"name":"rate-limit-mongo","description":"Provides a Mongo store for the express-rate-limit  middleware.","version":"2.3.1","author":{"name":"2do2go team","email":"dev.2do2go@gmail.com"},"license":"MIT","main":"lib/index.js","repository":{"type":"git","url":"git+ssh://git@github.com/2do2go/rate-limit-mongo.git"},"keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","security","brute","force","bruteforce","brute-force","attack","mongo","mongodb"],"dependencies":{"mongodb":">= 3.3.4 < 4.0.0","twostep":"0.4.2","underscore":"1.12.1"},"devDependencies":{"coveralls":"3.1.0","expect.js":"0.3.1","jshint":"2.10.3","mocha":"5.2.0","nyc":"15.0.1","rewire":"4.0.1","sinon":"7.5.0"},"scripts":{"lint":"jshint ./","test":"mocha --reporter spec --bail --timeout 10000 --recursive","makeCodeCoverageDetailReport":"nyc --all --exclude migrations --exclude coverage --exclude test --reporter lcov --reporter html  npm test -- --reporter dot && echo \"*** Code coverage report done, checkout ./coverage dir\"","makeCodeCoverageSummaryReport":"nyc --all --exclude migrations --exclude coverage --exclude test --reporter text-summary npm test -- --reporter dot"},"gitHead":"98e12a83f166ddcc9964fec5f213310f0d92b783","bugs":{"url":"https://github.com/2do2go/rate-limit-mongo/issues"},"homepage":"https://github.com/2do2go/rate-limit-mongo#readme","_id":"rate-limit-mongo@2.3.1","_nodeVersion":"10.24.0","_npmVersion":"6.14.11","_npmUser":{"name":"okv","email":"oleg.korobenko@gmail.com"},"dist":{"integrity":"sha512-sl0T3G6aB6hgawZldDlvDZ8vi2tIxbcpk/N1WdI4jsS1/FqdDF92jKeCQiE8Oq7kDSsU+jFT142GE6HfKWKrUw==","shasum":"e9682e72e12e3ce52d80128c090480a4d90065e4","tarball":"https://registry.npmjs.org/rate-limit-mongo/-/rate-limit-mongo-2.3.1.tgz","fileCount":6,"unpackedSize":11451,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgZLaKCRA9TVsSAnZWagAAbbcP/1lcSsUkuXtLaMYx3fmI\nkFzFRag7+nZG4YT3L3XbNKiyUdYUSImHPSu2D2Loao32dBFfsGFVWkbmYOPH\nYlsAI3H0kHBUFtXpdIpCcx0X+GFyTf43NeL6fbtX2992n2rWPl9Vxb0LShTF\n7wvdFeTDmktzTelEoj8pMhp+p9THbj9idpUKFmkF/K9xkyxry4t0rhz5h5LY\nhP1KJB9lrDaUaUvlyjjWBxTqR8PUtSOMu/buLhQqyyiU0dpLDJH4ICigWlb4\nswxwvbprNIxbQCp5YAET8AS08jY8Fwa8NviCTzSz2gGQm0/XcblTgcleF1pQ\ntvY0qnMom/FHUx9sMTd+kzr0o0Sb22Wk8TMaS4tzuCwxMABRlVBmKM2Uy38U\nAlHL3wA20Q+S6lDzkI6OOQVoLueRK7D+OFiqhlEwFO96zZUKMxdB3kIwPxwR\n3umUg/K6YHDF5Msjp2sGeMZq+NWWiUHX4WVIthGdNY87LVqoJTbGxfS5WHiN\njAc3mJEMZTVDGfts8j/xffSmuuSS989aBJZRjLT379+2VKRAwpQprgJYouvp\nU39RhdshuwO9OMj6w3KWOOS99G/zgh0maseKc1ef0qLThW2qd8524rNTh/vm\nDonXpcPIuKRNs+FythV2TnGg1CB09WFyNe32J7FPtK0tmp2pJmp/fSrKS3+8\nMeDC\r\n=dFSD\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAku4CuqXCRWivIzeCBiGzGBE1V3xAIyvmWtloHNOGMHAiAO7cQfJ7XVLAE4dUn+QgAyyqWDHcXRfUrW9vK7yHvRFA=="}]},"directories":{},"maintainers":[{"name":"okv","email":"oleg.korobenko@gmail.com"},{"name":"2do2go","email":"dev.2do2go@gmail.com"},{"name":"a.makarov","email":"anton.svet.viktorovich@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rate-limit-mongo_2.3.1_1617213065940_0.5157344900868199"},"_hasShrinkwrap":false},"2.3.2":{"name":"rate-limit-mongo","description":"Provides a Mongo store for the express-rate-limit  middleware.","version":"2.3.2","author":{"name":"2do2go team","email":"dev.2do2go@gmail.com"},"license":"MIT","main":"lib/index.js","repository":{"type":"git","url":"git+ssh://git@github.com/2do2go/rate-limit-mongo.git"},"keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","security","brute","force","bruteforce","brute-force","attack","mongo","mongodb"],"dependencies":{"mongodb":"^3.6.7","twostep":"0.4.2","underscore":"1.12.1"},"devDependencies":{"expect.js":"0.3.1","jshint":"2.10.3","mocha":"5.2.0","nyc":"15.0.1","rewire":"4.0.1","sinon":"7.5.0"},"scripts":{"lint":"jshint ./","test":"mocha --reporter spec --bail --timeout 10000 --recursive","makeCodeCoverageDetailReport":"nyc --all --exclude migrations --exclude coverage --exclude test --reporter lcov --reporter html  npm test -- --reporter dot && echo \"*** Code coverage report done, checkout ./coverage dir\"","makeCodeCoverageSummaryReport":"nyc --all --exclude migrations --exclude coverage --exclude test --reporter text-summary npm test -- --reporter dot"},"gitHead":"80751f18fe84929713f28ec97dcc7d869cce51c1","bugs":{"url":"https://github.com/2do2go/rate-limit-mongo/issues"},"homepage":"https://github.com/2do2go/rate-limit-mongo#readme","_id":"rate-limit-mongo@2.3.2","_nodeVersion":"14.17.6","_npmVersion":"6.14.15","_npmUser":{"name":"okv","email":"oleg.korobenko@gmail.com"},"dist":{"integrity":"sha512-dLck0j5N/AX9ycVHn5lX9Ti2Wrrwi1LfbXitu/mMBZOo2nC26RgYKJVbcb2mYgb9VMaPI2IwJVzIa2hAQrMaDA==","shasum":"6918e35606f4eeabf46e508dd3b60548057c323b","tarball":"https://registry.npmjs.org/rate-limit-mongo/-/rate-limit-mongo-2.3.2.tgz","fileCount":6,"unpackedSize":11509,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhPPoYCRA9TVsSAnZWagAA1rgP/2Tw331CYuOQChRHL8yJ\nlszVZYwYdRfZqeG9wGpjUqxB/EMG3FxoRjokWqKMrGnMSuXNl30wHj4af+p6\n6Kt/ZNJVO/LxILcRBqQGS9KWD+qnVYYymdV6W8faAQY2w/T251TfavikUnOF\n632wEAQRvpqFq/ePsD7C8/gELTUg5UeScrpm4sXHMjxS4zgU3dN97moI5khK\nLEMCATk2cR5GB0dMILsK1EGw0lri54SOWi4Z7/F6WadQGusUM+hHbgn+lfpv\n9T+cB62Tu07kcKmFBRkIXDZ0mgl9+o8F6WaJ2mT6smVj1NLAtRNBEG28jDzL\nTygzSWXyMN+qfAwRnY6aALEOTYJuAComYVXtSmh7qRPfy99dSHkNnc3UmgzS\n5MLtVw7dnUdP7medyzFpHa2ysW/KK5qmDiEINoQrU8vB5uxWDzkBc1tHLAgX\nU4hMrJ+zBFxfLpim0XJK/IFXukROFFzAblGfkzU1IzFBYl0jJks/dfVRKzdB\noUzuI6NKhBOG6yal1SR+n0fiU/BdG0Vf+OKYmZeQo8toSq6eAOBo41XITwZc\ntfG3QFrqh5WhLDagVETP/MOZYDPyvlfYBMI88w+4O6N/MAtt553JgPecpBFj\nOVukaS5ix/YYEQ0Kq/YwsaFXZePDy6RsdzrFg6fqWjqFuIoTmFAlg+OceZfU\nUENS\r\n=t7pL\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGa7I/O0LGvOaytVRiAYzklQS0uNPDfJqY0t8c95YSkqAiEA+ehdvZggCeAgViHpHI71FmO+Ndjg/Hl625GHq/RdLKU="}]},"directories":{},"maintainers":[{"name":"okv","email":"oleg.korobenko@gmail.com"},{"name":"2do2go","email":"dev.2do2go@gmail.com"},{"name":"a.makarov","email":"anton.svet.viktorovich@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rate-limit-mongo_2.3.2_1631386136784_0.9970162353176542"},"_hasShrinkwrap":false}},"time":{"created":"2018-10-17T13:33:15.416Z","1.0.0":"2018-10-17T13:33:15.581Z","modified":"2022-05-14T03:45:59.706Z","1.0.1":"2018-10-17T14:15:08.516Z","1.0.2":"2018-10-18T08:10:17.507Z","1.0.3":"2018-10-22T08:57:35.153Z","2.0.0":"2019-11-12T12:49:07.388Z","2.1.0":"2019-11-16T17:47:38.882Z","2.2.0":"2020-05-22T18:39:00.217Z","2.3.0":"2020-09-30T17:42:27.307Z","2.3.1":"2021-03-31T17:51:06.088Z","2.3.2":"2021-09-11T18:48:56.914Z"},"maintainers":[{"name":"okv","email":"oleg.korobenko@gmail.com"},{"name":"2do2go","email":"dev.2do2go@gmail.com"},{"name":"a.makarov","email":"anton.svet.viktorovich@gmail.com"}],"description":"Provides a Mongo store for the express-rate-limit  middleware.","homepage":"https://github.com/2do2go/rate-limit-mongo#readme","repository":{"type":"git","url":"git+ssh://git@github.com/2do2go/rate-limit-mongo.git"},"bugs":{"url":"https://github.com/2do2go/rate-limit-mongo/issues"},"license":"MIT","readme":"# Rate Limit Mongo\n\nMongoDB store for the [express-rate-limit](https://github.com/nfriedly/express-rate-limit) middleware.\n\n[![Npm version](https://img.shields.io/npm/v/rate-limit-mongo.svg)](https://www.npmjs.org/package/rate-limit-mongo)\n[![Build Status](https://github.com/2do2go/rate-limit-mongo/actions/workflows/nodejs-main.yml/badge.svg?branch=master)](https://github.com/2do2go/rate-limit-mongo/actions/workflows/nodejs-main.yml?query=branch%3Amaster)\n[![Coverage Status](https://coveralls.io/repos/github/2do2go/rate-limit-mongo/badge.svg?branch=master)](https://coveralls.io/github/2do2go/rate-limit-mongo?branch=master)\n[![Known Vulnerabilities](https://snyk.io/test/npm/rate-limit-mongo/badge.svg)](https://snyk.io/test/npm/rate-limit-mongo)\n\n\n## Install\n\n```sh\n$ npm install --save rate-limit-mongo\n```\n\n## Usage\n\n```js\nvar RateLimit = require('express-rate-limit');\nvar MongoStore = require('rate-limit-mongo');\n\nvar limiter = new RateLimit({\n  store: new MongoStore({\n    uri: 'mongodb://127.0.0.1:27017/test_db',\n    user: 'mongouser',\n    password: 'mongopassword',\n    // should match windowMs\n    expireTimeMs: 15 * 60 * 1000,\n    errorHandler: console.error.bind(null, 'rate-limit-mongo')\n    // see Configuration section for more options and details\n  }),\n  max: 100,\n  // should match expireTimeMs\n  windowMs: 15 * 60 * 1000\n});\n\n//  apply to all requests\napp.use(limiter);\n```\n\n\n## Configuration\n\n* **uri**: string -- uri for connecting to mongodb, `mongodb://127.0.0.1:27017/test_db` for example.\nRequired if collection hasn't been set.\n\n* **collectionName**: string -- name of collection for storing records. Defaults to `expressRateRecords`\n\n* **user**: string -- username for authentication in mongodb\n\n* **password**: string -- password for authentication in mongodb\n\n* **authSource**: string -- db name against which authenticate use. If not set db name from uri will be taken.\n\n* **collection**: object -- mongodb collection instance. Required if uri hasn't been set.\n\n* **connectionOptions**: object -- mongodb connection options. Allows to pass additional connection options to mongodb. The default connection options are `useUnifiedTopology: true`, `useNewUrlParser: true`.\n\n* **expireTimeMs**: integer -- time period, in milliseconds, after which record will be reset (deleted).\nDefaults to `60 * 1000`. Notice that current implementation uses on mongodb ttl indexes - background task that removes expired documents runs every 60 seconds. As a result, documents may remain in a collection during the period between the expiration of the document and the running of the background task. See [mongodb ttl indexes doc](https://docs.mongodb.com/v3.6/core/index-ttl/#timing-of-the-delete-operation) for more information.\n\nNote: unless express-tate-limit's headers are disabled, `windowMs` on express-tate-limit's options should be set to the same value as `expireTimeMs` on rate-limit-mongo's options in order for the `Retry-After` header to be correct.\n\n* **resetExpireDateOnChange**: boolean -- indicates whether expireDate should be reset when changed or not.\nDefaults to `false`.\n\n* **errorHandler**: function -- function that will be called if error happened\nduring incr, decrement or resetKey methods. Defaults to `_.noop`.\n\n* **createTtlIndex**: boolean -- defines whether create ttl index (\non `expirationDate` field with `expireAfterSeconds: 0`) on collection\nor not. Could be useful in situations when you don't want to create index\nfrom the app e.g. due to restricted db permissions (see\n[#15](https://github.com/2do2go/rate-limit-mongo/issues/15) for details).\nDefaults to `true`.\n\n\n## Methods\n\n`MongoStore` class provides public methods (`incr`, `decrement`, `resetKey`)\nrequired by [express-rate-limit](https://github.com/nfriedly/express-rate-limit).\n\nIn addition following methods provided:\n\n* `getClient(callback)` - if `collection` was not passed to the constructor then\nthat method will pass (as second argument) initiated instace of\n[MongoClient](http://mongodb.github.io/node-mongodb-native/3.3/api/MongoClient.html)\nto the `callback`, otherwise `null` will be passed. Thus this method provides\ncontrol over connection initiated by the library to the end user. This method\nis promisified (when `util.promisify` is presented (node.js >= 8)).\n","readmeFilename":"README.md","keywords":["express-rate-limit","express","rate","limit","ratelimit","rate-limit","security","brute","force","bruteforce","brute-force","attack","mongo","mongodb"],"author":{"name":"2do2go team","email":"dev.2do2go@gmail.com"}}