{"_id":"lil-http-terminator","_rev":"7-d642fd41fee8bc34f911a1c8de667553","name":"lil-http-terminator","dist-tags":{"latest":"1.2.3"},"versions":{"1.0.0":{"ava":{"files":["test/src/**/*"]},"description":"Zero dependencies, gracefully terminates HTTP(S) server.","devDependencies":{"agentkeepalive":"^4.1.4","ava":"^3.15.0","eslint":"^6.8.0","got":"^11.8.1","nyc":"^15.1.0","pem":"^1.14.4","prettier":"^1.19.1","sinon":"^9.2.4"},"eslintConfig":{"parserOptions":{"ecmaVersion":2017},"env":{"es6":true,"node":true},"extends":"eslint:recommended"},"engines":{"node":">=8"},"keywords":["kubernetes","prometheus","http","https","keep-alive","close","terminate"],"license":"BSD-3-Clause","source":"src/index.js","main":"src/index.js","name":"lil-http-terminator","repository":{"type":"git","url":"git+https://github.com/flash-oss/lil-http-terminator.git"},"scripts":{"ci":"npm i && npm t && npm run lint","test":"NODE_ENV=test ava --serial --verbose","cov":"NODE_ENV=test nyc --reporter=lcov --reporter=text-summary ava --serial --verbose","lint":"eslint ./src ./test"},"version":"1.0.0","gitHead":"fc53182e5c4868193d4c06bafb306cfb9a790bed","bugs":{"url":"https://github.com/flash-oss/lil-http-terminator/issues"},"homepage":"https://github.com/flash-oss/lil-http-terminator#readme","_id":"lil-http-terminator@1.0.0","_nodeVersion":"12.16.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-rV+XdF3uJsoWGcaT7GGT6Q3yp+Pi7e7eYO2v3zavRJ/MzssA5u4uEquvWLniMouomXtfaR3yc/kFG38xyajxsg==","shasum":"874afe083a8b54c641945ba9018d87d8a3bba3e1","tarball":"https://registry.npmjs.org/lil-http-terminator/-/lil-http-terminator-1.0.0.tgz","fileCount":5,"unpackedSize":10326,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg5Rq0CRA9TVsSAnZWagAAeKsP/idqSUWlwdSoCEZdYyKD\nQQ/qVcLl0yOUd5+HpOGxHLhkgNzfoLQ1t9wNMvnfGWSD5paQVgUhDlFgp2Os\nH79HtHWcssfmRRJXo4B9prD3sQzIy6ARIVWpCnUR3tvxFrIz9BB4DU47kRer\nOhaXU635eRcOqqLGaE93kJ7ltNF+r63mh0jKIZ9/GOJL4TLNLBuLocI7Cj6L\n8G0r4YrS3jutd5vNj6yILPaqsZ8tylq3a46bJf8xypr574qwbL3ODQEytJnO\nNjpFsqmouPh2r1LB26cj7M5pf7hbCkxDGCV5XL4pm8xy4U9kd5RI/j81ceVU\nUF49m1cIU58AVH1LzEj0zTwgR9ccsfld64jvX6ajONWhorxkEXJg6WzW/z4u\n/tfML09TxrsRgqG7tNaKExL54bi+J5/yqDQ+5uANq9OSJ31tXucjoU9fhfqz\nHniYDZNyAEODBLlF0qt/r0AX0tvet/XjbxW4c71ZsCFCMcSqdTMTx9+rox0j\n3ctZGjhFe8qohGq7OPO+Q9dtQBFovJolgRA4V52z5EB8IUitXx+COQuh4Y4d\n//MSKGCIRGB19c3WLInadt5hDWAwyG+XW9uILE9h+zRZ8kuAA2yVHCZYdE8x\nJyyUEtO6SR6/6gkR02qTMZ0YOncxSWIn/uQdLK+MtYlROxtm7n001LBJUSy5\ncMj1\r\n=pcpn\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAYwjJDnVaj2JJcHA6bgIjz/p+OVV10XdiYCe7aceG9AAiASK6/NCe19fyeEmO3zLfghVLRsBpvE5/8IdN0npN6zUw=="}]},"_npmUser":{"name":"koresar","email":"kore.sar@gmail.com"},"directories":{},"maintainers":[{"name":"koresar","email":"kore.sar@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lil-http-terminator_1.0.0_1625627316063_0.5886793201071823"},"_hasShrinkwrap":false},"1.1.0":{"ava":{"files":["test/src/**/*"]},"description":"Zero dependencies, gracefully terminates HTTP(S) server.","devDependencies":{"agentkeepalive":"^4.1.4","ava":"^3.15.0","eslint":"^6.8.0","got":"^11.8.1","nyc":"^15.1.0","pem":"^1.14.4","prettier":"^1.19.1","sinon":"^9.2.4"},"eslintConfig":{"parserOptions":{"ecmaVersion":2017},"env":{"es6":true,"node":true},"extends":"eslint:recommended"},"engines":{"node":">=8"},"keywords":["docker","kubernetes","prometheus","http","https","keep-alive","close","terminate"],"license":"BSD-3-Clause","source":"src/index.js","main":"src/index.js","name":"lil-http-terminator","repository":{"type":"git","url":"git+https://github.com/flash-oss/lil-http-terminator.git"},"scripts":{"ci":"npm i && npm t && npm run lint","test":"NODE_ENV=test ava --serial --verbose","cov":"NODE_ENV=test nyc --reporter=lcov --reporter=text-summary ava --serial --verbose","lint":"eslint ./src ./test"},"version":"1.1.0","gitHead":"c570e34b3cf6bb6af07a6b0e86db70c1754852ce","bugs":{"url":"https://github.com/flash-oss/lil-http-terminator/issues"},"homepage":"https://github.com/flash-oss/lil-http-terminator#readme","_id":"lil-http-terminator@1.1.0","_nodeVersion":"12.16.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-aeQoustzwoP4PTKZH3Siar7z3lAr2ohP1uvqGnpNV8jvnSqQ94ZVBkLlR2sS/o0LDcPKk3vfskpPveDeGlW0KQ==","shasum":"8c2c4be2ad82993efe8b2503edf9b56d81f5a29e","tarball":"https://registry.npmjs.org/lil-http-terminator/-/lil-http-terminator-1.1.0.tgz","fileCount":5,"unpackedSize":13046,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg8Od7CRA9TVsSAnZWagAAOgwP/jmdKs8TGpdVrg2g2TBd\n3TDm7B10QNUgcXJQjytFSdKCFBYu7tkZac/2PTSWOMmqD7vC+Njuj58Q3PKk\n300JG7teJQ3Re7+507J6JGIsh4sfJe7C7VZmn4iOHXnwRI/9c3DQpIb/dygy\ntaCwUtBCb+gVv9mW8dmJwDBEc0VhNjg4Vp/mMDr9bo6lO/GbB89hIoPSIItX\nH16TlT8xBrepX/oHfoG7EXAQIs4LgOn+qNVUk8LIG/MfV12p6S0cUpz0BZf1\no0y+m3QalrITpclo/x5Z4Y0i5pffWPBsGfa/W0vrvZMc/U/P9kS9RATPYRbQ\nlvLheBKmmuwYdNhpZ+jx1GSS2b3sM/03pwM7wqhFF+aqVdrVqyLEVJKkxvgZ\ngoJmz8XDDjMiQKqMnE3ELOsRQdBNgmLxnxlTQtayAifdvv+Jc6ERqsUo5r79\nLnRDBTL05uaBXuYLcnw8a2odFC0m58nVEemzW+1miAPdvILR/3GqMI7aOuGR\n3Wx2z8GbkmXBskyyOs4VM/Y+AWtxfPH440wmMYVc7RkkFZA+ryoGIdpOPmDq\nUcXKg6l9l7jBqI+YEsy2udMwscvnt+f8wUFpiw2z08t9Yvbk0wrVs33p51Mh\njU0mtw1QHNY9wt7VihVHRyRD4ZL8u6Eh04I7NStMARvsb5t5qs76KGlG5JCM\nvxUy\r\n=l2H1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDGBaIYAXwcI5zHX/eH0czKpfbx+/+bhqZEb8ga8vb+wQIgdB37bCCChDK5i1JSqtUhAldkxTZiognw0vdk2J5vBAk="}]},"_npmUser":{"name":"koresar","email":"kore.sar@gmail.com"},"directories":{},"maintainers":[{"name":"koresar","email":"kore.sar@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lil-http-terminator_1.1.0_1626400635759_0.29995796837923794"},"_hasShrinkwrap":false},"1.2.0":{"ava":{"files":["test/src/**/*"]},"description":"Zero dependencies, gracefully terminates HTTP(S) server.","devDependencies":{"agentkeepalive":"^4.1.4","ava":"^3.15.0","eslint":"^6.8.0","got":"^11.8.1","nyc":"^15.1.0","pem":"^1.14.4","prettier":"^1.19.1"},"eslintConfig":{"parserOptions":{"ecmaVersion":2017},"env":{"es6":true,"node":true},"extends":"eslint:recommended"},"engines":{"node":">=8"},"keywords":["docker","kubernetes","prometheus","http","https","keep-alive","close","terminate"],"license":"BSD-3-Clause","source":"src/index.js","main":"src/index.js","name":"lil-http-terminator","repository":{"type":"git","url":"git+https://github.com/flash-oss/lil-http-terminator.git"},"scripts":{"ci":"npm i && npm t && npm run lint","test":"NODE_ENV=test ava --serial --verbose","cov":"NODE_ENV=test nyc --reporter=lcov --reporter=text-summary ava --serial --verbose","lint":"eslint ./src ./test"},"version":"1.2.0","gitHead":"093f09dd47ccafe1726a422b24374bacafe9bd78","bugs":{"url":"https://github.com/flash-oss/lil-http-terminator/issues"},"homepage":"https://github.com/flash-oss/lil-http-terminator#readme","_id":"lil-http-terminator@1.2.0","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-KQjMfwEhPMnSlP+tH/ZGMlOxK997ebONOOd+p7uvxCZO/OTsWu7QzdOCHV1g6bUV1Hxx2169vzHxVI9muRqlUw==","shasum":"c9f1d1033fd8461e0a63da89c351fce94c4da726","tarball":"https://registry.npmjs.org/lil-http-terminator/-/lil-http-terminator-1.2.0.tgz","fileCount":5,"unpackedSize":13101,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh2x6RCRA9TVsSAnZWagAA09EP/3yXP+HR9rq+hKOviKyJ\n5u5SeC+Hpq2KCWmdtrC4QYj8+WA1/F80xOfLMmRc7VtxPSQcUcR3Tip2UfB7\nTRAKIE9A1Cle08HhWalQexaF5HuIPnsLJbZzFN43uX4TtndEljjVwaRmNhcX\n7RcxvgnXuWdKVNMjrQ0JhixLH3EDTVpfXOgMNQh1hIBzcI2NeG05LTAyCT6q\nGLbsaCNwQm74+4dylWjEPPvfi2h7J+zAQIP4cphWfhO6SByx1RI09trgn+jQ\n4lyQVUe9o9qn2xKZ7dc11lzhHoF7CehieERyNX5ZWwNBZvS59YFqOqFY30aw\nh4RIrAkvE/hlCpaFkJyJUo+8qBShiWL8xkH2+N0b93WrdfbFbC8miFifveSQ\nNoUM7ZLxp7gbhzq1T6aIHB20tZyjaEuQ2aAdtM8jdRipVT36Vj7LQiq6JSPd\nNxNma8zlj342rh9DfRe+fL1n1Y1E86F66KgxHcbosJal+zb4ddF+3QWWaGTL\nL8/f1Ql1bmPlirR+Pm5FKZclvX1ZctHlKZu0K2EdQADsIjkFn8KigFfZyKGm\nwNMGsVmmasWxXEsNlEOrOP0h1sid4OKbXB4u70tNYOkepJyzj5wBpSKE8mkR\n6UzZwrO1+t86CdEya18e8N0ds3QKr0+YjjxGUyYpt0UxHRO2osNL2OJhdxN/\nAlMH\r\n=qiD5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGv0Z9HWhVVALlPaf0ViNu2Un1HtoqbARx4xA5CTg9I5AiEA8ZQy28jfP2zqLTEGT3KEqBuLc4HxyhsJOm0kVCkAuYw="}]},"_npmUser":{"name":"koresar","email":"kore.sar@gmail.com"},"directories":{},"maintainers":[{"name":"koresar","email":"kore.sar@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lil-http-terminator_1.2.0_1635132126646_0.8900210837823728"},"_hasShrinkwrap":false},"1.2.1":{"ava":{"files":["test/src/**/*"]},"description":"Zero dependencies, gracefully terminates HTTP(S) server.","devDependencies":{"agentkeepalive":"^4.1.4","ava":"^3.15.0","eslint":"^6.8.0","got":"^11.8.1","nyc":"^15.1.0","pem":"^1.14.4","prettier":"^1.19.1"},"eslintConfig":{"parserOptions":{"ecmaVersion":2017},"env":{"es6":true,"node":true},"extends":"eslint:recommended"},"engines":{"node":">=8"},"keywords":["docker","kubernetes","prometheus","http","https","keep-alive","close","terminate"],"license":"BSD-3-Clause","source":"src/index.js","main":"src/index.js","name":"lil-http-terminator","repository":{"type":"git","url":"git+https://github.com/flash-oss/lil-http-terminator.git"},"scripts":{"ci":"npm i && npm t && npm run lint","test":"NODE_ENV=test ava --serial --verbose","cov":"NODE_ENV=test nyc --reporter=lcov --reporter=text-summary ava --serial --verbose","lint":"eslint ./src ./test"},"version":"1.2.1","gitHead":"ef1c4f5470f18be6157f5ca8bbeb6287b61bb4ab","bugs":{"url":"https://github.com/flash-oss/lil-http-terminator/issues"},"homepage":"https://github.com/flash-oss/lil-http-terminator#readme","_id":"lil-http-terminator@1.2.1","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-8Ns56EyifbgY4BLFXB6/iuYtGJCMfGH6QkM+iAKdw78/GF25PT969e022yDLrihcu7ajiujFMDgZboRBAWzywA==","shasum":"0317feb17c907a1212b769105dd3a0bc875c7eda","tarball":"https://registry.npmjs.org/lil-http-terminator/-/lil-http-terminator-1.2.1.tgz","fileCount":5,"unpackedSize":13109,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh5iMgCRA9TVsSAnZWagAAVfEP/AkwVhfdpHyEGLfetJvG\nGgJY+ho4WgcwIaeYItJhKGcFibgzZv2vfc5BzyQ4IQBz2u/OonaUqKMrxFo6\nVioO572/m1sEpHMNiF6qrfjjoW4OjtGvnCXEqqs0Jey6MwYbcovPafU985XK\nVBQh6hzqCjL8m/jBRYCLlh+Za6W/RBf/TkF6dPueVYZbRmJ9zmI6fV/8PRrW\nm2wTkToKMJZ91+eB8cG4+ZxgVK+77ILpqw6cSv/ncPHPCXr+01YmMK3D7Nc/\nF8sgRhCdZ/5DUhCi6k6DhKAVDX3+1udJZwgN8AYGSX6aiVMqR2MSR82ukF6O\n+Sdqk9sKUm/1phF3uvkSzBEyL9daTeZRuf/1CiwfnqdmvihgmBi0VlQJCA6e\nrIGxK1NwgjYpTiuC1CtzlKoMsaafZXtRVD6hjr0L50xQy+HHTGJJMG2XYXPQ\nCgRr3bENfTNf2Z0RjsQp5hzRgZIfhiRG8kp55stDvfo+EHPlLaYfW5QMXdKQ\nipyFpT9MkuAH3nmS2HJ4mfiQb4o9YE3uCdFKcxdjjxOMM/wujGOoC9etB4Zb\nTSoo6cSYPMOq4ZjO8PAKVjgQ4AFdzTKUjIk7ZB1MZ/p1E56NxHOM/4fzdLnc\n4zP63xyn0pVaLAJW2Kx/6INQSr3tD36Vq+hp5D4kCFnWoLCSM3iEFaryZaL6\nMtLa\r\n=f6aC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDP4222bcNC+Mm1PUL7pOeadJeC4fXQAHO3dmBLzmISJAiEAvmQSE32sRoSFvIrwqu7EfG9eE0mV5vGeNVXFalguT40="}]},"_npmUser":{"name":"koresar","email":"kore.sar@gmail.com"},"directories":{},"maintainers":[{"name":"koresar","email":"kore.sar@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lil-http-terminator_1.2.1_1642472224144_0.6818522351461154"},"_hasShrinkwrap":false},"1.2.2":{"ava":{"files":["test/src/**/*"]},"description":"Zero dependencies, gracefully terminates HTTP(S) server.","devDependencies":{"agentkeepalive":"^4.2.1","ava":"^4.0.1","eslint":"^8.9.0","got":"^11.8.3","mocha":"^9.2.1","nyc":"^15.1.0","pem":"^1.14.6","prettier":"^2.5.1"},"eslintConfig":{"parserOptions":{"ecmaVersion":2021},"env":{"es6":true,"node":true,"mocha":true},"extends":"eslint:recommended"},"engines":{"node":">=8"},"keywords":["docker","kubernetes","prometheus","http","https","keep-alive","close","terminate"],"license":"BSD-3-Clause","source":"src/index.js","main":"src/index.js","name":"lil-http-terminator","repository":{"type":"git","url":"git+https://github.com/flash-oss/lil-http-terminator.git"},"scripts":{"ci":"npm i && npm t && npm run lint","test":"NODE_ENV=test mocha --recursive --exit","cov":"NODE_ENV=test nyc --reporter=lcov --reporter=text-summary mocha --recursive --exit","lint":"eslint ./src ./test"},"version":"1.2.2","gitHead":"079b4080d000a7d5d4d2062cf1c5d0897e2e6e4a","bugs":{"url":"https://github.com/flash-oss/lil-http-terminator/issues"},"homepage":"https://github.com/flash-oss/lil-http-terminator#readme","_id":"lil-http-terminator@1.2.2","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-2n6gKJIKgPjy4JfSlwsQnAA7wK4SEA1cegqdsYwr7qObVfIHdELjDGjEcYWJanfF/u/mRzIT2WPqhpzC6R9pZw==","shasum":"f78944a3977eff5083ac29764940fb7d3806a6ff","tarball":"https://registry.npmjs.org/lil-http-terminator/-/lil-http-terminator-1.2.2.tgz","fileCount":5,"unpackedSize":13170,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiFZ52ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqTVw/9HAJfBtrhQ8Myov09PDKtqDqc8HWeRdvID9Nv4f6ehfLxVQnE\r\nd88f/VtrUsUHsIEE0Km2yiUewpgfzX4xdms8g+iTHb0e7uW9PkPIBhp2Ry0W\r\nqwMwNXOljQcaui45Uw+D2K885KQf9+s5q2PUPHVnRgEzodmevcqZj6a8m4BW\r\nHYLMr75xBmWvUq4tTnbe/pBJImZJ/DaQeXV/N1uRw95L2OqEZrtKFs3g8kv6\r\nCE1U0Z3HeLdqtCW1Vdsxe93WXRvgDOFrK1VIfoncHzmFREBafHJ0nghf+8KB\r\noNSmsYdYjo5wF+fwQppciwuNlvixE7Bvwz+3eVJcm5cThhIij92uubc3Sz67\r\n1IUP9nTW5qCMZoPwOuanZeVAH4/eo0PX6K3M16/t7IQClCNleYZ+339NYMcN\r\nH4ZHLAmV5Aa6avAfD1xwhrOKF5CI1IDtuhkwptMcrl8M1iedv5fj7NvQsoVn\r\nrtwi8Bj6ih2RfXlgBxAwbYilvtfD5AIwMhDd/R8SUQEAbylHdxChEQ9vdpGe\r\nXOfdw6dVohddqOs7+j51TVzyHQ+6HZmBfve+VaIVlNKoMEOfbRqN8X7Swxq2\r\nbuDUvm0hqv8NsExYqwsbWxtTIzedGA+G56jYd8a/WWbo6Rix9QThS/FzdFNX\r\nFnsRv6578IA1Ilpq+rW059BbiScr6Anu/2Y=\r\n=GMSL\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFh7fjtHGtbIT/YOXtgMflDpO5eAMAFQYfrrwQtA+QnpAiEAua8tUM9RoLuJ88nsUGX0C+RJll9R4SEYc9Ud76D4e/A="}]},"_npmUser":{"name":"koresar","email":"kore.sar@gmail.com"},"directories":{},"maintainers":[{"name":"koresar","email":"kore.sar@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lil-http-terminator_1.2.2_1645583990733_0.6940889221478073"},"_hasShrinkwrap":false},"1.2.3":{"ava":{"files":["test/src/**/*"]},"description":"Zero dependencies, gracefully terminates HTTP(S) server.","devDependencies":{"agentkeepalive":"^4.2.1","ava":"^4.0.1","eslint":"^8.9.0","got":"^11.8.3","mocha":"^9.2.1","nyc":"^15.1.0","pem":"^1.14.6","prettier":"^2.5.1"},"eslintConfig":{"parserOptions":{"ecmaVersion":2021},"env":{"es6":true,"node":true,"mocha":true},"extends":"eslint:recommended"},"engines":{"node":">=12"},"keywords":["docker","kubernetes","prometheus","http","https","keep-alive","close","terminate"],"license":"BSD-3-Clause","source":"src/index.js","main":"src/index.js","name":"lil-http-terminator","repository":{"type":"git","url":"git+https://github.com/flash-oss/lil-http-terminator.git"},"scripts":{"ci":"npm i && npm t && npm run lint","test":"NODE_ENV=test mocha --recursive --exit","cov":"NODE_ENV=test nyc --reporter=lcov --reporter=text-summary mocha --recursive --exit","lint":"eslint ./src ./test"},"version":"1.2.3","gitHead":"7768f4f7e5e825963f7dcdd9be5407bc2bcb1521","bugs":{"url":"https://github.com/flash-oss/lil-http-terminator/issues"},"homepage":"https://github.com/flash-oss/lil-http-terminator#readme","_id":"lil-http-terminator@1.2.3","_nodeVersion":"12.22.12","_npmVersion":"6.14.16","dist":{"integrity":"sha512-vQcHSwAFq/kTR2cG6peOVS7SjgksGgSPeH0G2lkw+buue33thE/FCHdn10wJXXshc5RswFy0Iaz48qA2Busw5Q==","shasum":"594ef0f3c2b2f7d43a8f2989b2b3de611bf507eb","tarball":"https://registry.npmjs.org/lil-http-terminator/-/lil-http-terminator-1.2.3.tgz","fileCount":5,"unpackedSize":13398,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCgJXQyOp+UwmD5CWmZ8xsCGGE/fdAjZbI1EjfBhev+eQIgXXh7xXrW0PwKBATLVUvhim0kSnm9CTEGs0mU/Tv76Qk="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkFEKNACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmquUA//YHrUNvafFw+RKFX+/7XEd9LEhXrbE2pOmNvvgUw3Lvsk8XvY\r\n7hDprNHd6cULHs9FFHubucfde6LedYf0WG2Xqf/eV4TklKxDHItOXKxjLLda\r\nPOcyCJyxZfcZQhuvFwn48DNQG6LSsWoNvNfItO07XAeRjpAfwXuou9MG6N83\r\nS8A0H6jw4ptmNAIyfT2+EpnE6qVhcjJodO2AXHHRUGlV1Akdda9p8vyoGoYi\r\nye7DfIYXGAaQmpLcrjgFKrd8WlKZ4RSZ2t5H1RnM8jTOTR5pTDqrlD6KsdAB\r\n2+N9GxtTOCxlr1o+e0O82Rk/Xk5xcMHj1HwqCAPf4j3q2l4HpXjER34hr942\r\n+7jrSNPdiiGfPl7SOYvmhSRJ/KFrlz/9xZq/6lAXeQlb4Pz7OmOTBNC6WqNH\r\nevpptV+0PW07yr2519fyH/BU/AifK3vEiJWm8HezPexL1OtbUBp/2Xbe13bM\r\npjuwfiisak9tgF/TUG68DyeDUM3Dko49z+RPvmCfPV4oYD8KaehzvWRkmHNt\r\nRbalE6XvD/aO6AjNphoDOYyRzggXJ0mY1FLyoJxDwN3/FnNUb4uSF99zMDcC\r\n0LCwrUU+HKDH/EInk3yAHu29G4KtOsEeJufHgpliESXxXazJbjm9eEr6hx2A\r\nPmQQNGU++72ox+OUjyhWu8vsNXPf3mc6OIc=\r\n=m8JB\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"koresar","email":"kore.sar@gmail.com"},"directories":{},"maintainers":[{"name":"koresar","email":"kore.sar@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/lil-http-terminator_1.2.3_1679049357558_0.030612041034863147"},"_hasShrinkwrap":false}},"time":{"created":"2021-07-07T03:08:36.063Z","1.0.0":"2021-07-07T03:08:36.203Z","modified":"2023-03-17T10:35:57.865Z","1.1.0":"2021-07-16T01:57:15.892Z","1.2.0":"2021-10-25T03:22:06.793Z","1.2.1":"2022-01-18T02:17:04.367Z","1.2.2":"2022-02-23T02:39:50.856Z","1.2.3":"2023-03-17T10:35:57.704Z"},"maintainers":[{"name":"koresar","email":"kore.sar@gmail.com"}],"description":"Zero dependencies, gracefully terminates HTTP(S) server.","homepage":"https://github.com/flash-oss/lil-http-terminator#readme","keywords":["docker","kubernetes","prometheus","http","https","keep-alive","close","terminate"],"repository":{"type":"git","url":"git+https://github.com/flash-oss/lil-http-terminator.git"},"bugs":{"url":"https://github.com/flash-oss/lil-http-terminator/issues"},"license":"BSD-3-Clause","readme":"# lil-http-terminator 🦾\n\nGracefully terminates HTTP(S) server.\n\nThis module was forked from the amazing [http-terminator](https://github.com/gajus/http-terminator). The important changes:\n\n- Zero dependencies, 11 KB on your disk. The original `http-terminator` brings in more than 20 sub-dependencies, >450 files, 2 MB total.\n- Removed TypeScript and a dozen of supporting files, configurations, etc. No more code transpilation.\n- Simpler API. Now you do `require(\"lil-http-terminator\")({ server });` to get a terminator object.\n- The termination never throws. You don't want to handle unexpected exceptions during your server shutdown.\n- Termination won't hang forever if server never closes the port because some browsers disrespect `connection:close` header.\n\n## Behaviour\n\nWhen you call [`server.close()`](https://nodejs.org/api/http.html#http_server_close_callback), it stops the server from accepting new connections, but it keeps the existing connections open indefinitely. This can result in your server hanging indefinitely due to keep-alive connections or because of the ongoing requests that do not produce a response. Therefore, in order to close the server, you must track creation of all connections and terminate them yourself.\n\n`lil-http-terminator` implements the logic for tracking all connections and their termination upon a timeout. `lil-http-terminator` also ensures graceful communication of the server intention to shutdown to any clients that are currently receiving response from this server.\n\n## API\n\n```js\nconst HttpTerminator = require(\"lil-http-terminator\");\n\nconst terminator = HttpTerminator({\n    server, // required. The node.js http server object instance\n    \n    // optional\n    gracefulTerminationTimeout: 1000, // optional, how much time we give \"keep-alive\" connections to close before destryong them\n    maxWaitTimeout: 30000, // optional, termination will return {success:false,code:\"TIMED_OUT\"} if it takes longer than that\n    logger: console, // optional, default is `global.console`. If termination goes wild the module might log about it using `logger.warn()`.\n});\n\n// Do not call server.close(); Instead call this:\nconst { success, code, message, error } = await terminator.terminate();\nif (!success) {\n    if (code === \"TIMED_OUT\") console.log(message); \n    if (code === \"SERVER_ERROR\") console.error(message, error); \n    if (code === \"INTERNAL_ERROR\") console.error(message, error); \n}\n```\n\n## Usage\n\nUse the terminator when node.js process is shutting down.\n\n```js\nconst http = require(\"http\");\n\nconst server = http.createServer();\n\nconst httpTerminator = require(\"lil-http-terminator\")({ server });\n\nasync function shutdown(signal) {\n    console.log(`Received ${signal}. Shutting down.`)\n    const { success, code, message, error } = await httpTerminator.terminate();\n    console.log(`HTTP server closure result: ${success} ${code} ${message} ${error || \"\"}`);\n    process.exit(0);\n}\n\nprocess.on(\"SIGTERM\", shutdown); // used by K8s, AWS ECS, etc.\nprocess.on(\"SIGINT\", shutdown); // Atom, VSCode, WebStorm or Terminal Ctrl+C\n```\n\n## Alternative libraries\n\nThere are several alternative libraries that implement comparable functionality, e.g.\n\n- https://github.com/gajus/http-terminator (origin of this module)\n- https://github.com/hunterloftis/stoppable\n- https://github.com/thedillonb/http-shutdown\n- https://github.com/tellnes/http-close\n- https://github.com/sebhildebrandt/http-graceful-shutdown\n\nThe main benefit of `lil-http-terminator` is that:\n\n- it does not have any dependencies\n- it never throws any errors but resolves an object: `{success:Boolean, code:String, message:String, error?:Error}`.\n- it never hangs if server can't be closed because of bad browser behaviour. Returns `{success:false,code:\"TIMED_OUT\"}`.\n- it does not monkey-patch Node.js API\n- it immediately destroys all sockets without an attached HTTP request\n- it allows graceful timeout to sockets with ongoing HTTP requests\n- it properly handles HTTPS connections\n- it informs connections using keep-alive that server is shutting down by setting a `connection: close` header\n- it does not terminate the Node.js process\n\n## FAQ\n\n### What is the use case for lil-http-terminator?\n\nTo gracefully terminate a HTTP server.\n\nWe say that a service is gracefully terminated when service stops accepting new clients, but allows time to complete the existing requests.\n\nThere are several reasons to terminate services gracefully:\n\n- Terminating a service gracefully ensures that the client experience is not affected (assuming the service is load-balanced).\n- If your application is stateful, then when services are not terminated gracefully, you are risking data corruption.\n- Forcing termination of the service with a timeout ensures timely termination of the service (otherwise the service can remain hanging indefinitely).\n","readmeFilename":"README.md"}