{"_id":"@houd1ni/koa","_rev":"29-f88304f464b4434b61d7ec1f5d049a31","name":"@houd1ni/koa","dist-tags":{"latest":"2.15.22"},"versions":{"2.14.1":{"name":"@houd1ni/koa","version":"2.14.1","keywords":["web","app","http","application","framework","middleware","rack"],"license":"MIT","_id":"@houd1ni/koa@2.14.1","maintainers":[{"name":"houd1ni","email":"brantokrule@gmail.com"}],"dist":{"shasum":"9271f5ebfd0763f577c9d3ce3784b6d1b3bcad5e","tarball":"https://registry.npmjs.org/@houd1ni/koa/-/koa-2.14.1.tgz","fileCount":11,"integrity":"sha512-Od5eOoZxiSaDcBfKlS1+QM9nTnddqy+IN+Ey+dOJs+3pm6nOtLtc6eAEvxull6dpTLFW64tNG92jlqhoeraMOw==","signatures":[{"sig":"MEUCIQCuwK3FS5LjdoFJHi+T5bCoHl1zOL7GN+do3ED39m71zQIgbKMafUOYbwo69mF0EcCxO3OQiNRGCxFgkusPVwQZz5Y=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":72495,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj7+mIACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqsVQ/+IopQW8/+FA4/2JLTKR2NZI+hac/EsnZnfAw3tbHKZP0VvKna\r\nuTd3256rrEj7kdmuh39fKfpd7pDlqXNjnGbjzBJSW2rFoofRFCd7GaIVZ795\r\nVGw1vqB/lUoMZTBD4yz00LjpV0+B3oUsmGj0umwT1Pe7Pjk4Ow0XXqLMeevj\r\nT2fYkuuCSQ4Rp/kctvF0miY2o2vha1i2FubrUaBupa9VhQJJdUZ6wp4gZJ5j\r\n5ojCnjG8Jp+Lm7jm32yOlzbW1liYgwNDfPccS5exDHo8/CXbqqihcWdhOz+H\r\nUiZuXMyXwqgifJeb2i8OVBi360nLJ6dH0VosanxblQ95nwl60vRl4jrYIiCD\r\nE1iWF4Ll5nO0RPa6gAthzdtsKLYeNVZ54RNwlWVkQVfBj8/yWk2qXMKfOGB5\r\nAD39Yhb3DdkFzxKCBbGuqxfGpFWMLRO1vwvdcw8r2N3Q4H4P/TCdrQjDvv0m\r\n2vJrXPBfB8gdbPv6itXOgcQZ8XstaSRFgdTdlDeKn4Y4/juz1mmdU1laivyy\r\noph0ICMrhzJILS36YDAM8kYt0v6Rv+5lWpHhbV1pHfdyoNETMJ4ylkdnsCYG\r\n/qiaL0dYqPtw8F+SLfZ+wjjTXdtDhXppcVudR7ecRJqM3fJJR+KftEbPOcgE\r\nOGJtkAqx0M49+p7/xHgKTjnQGFTJe21GpAY=\r\n=2s3q\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"testEnvironment":"node"},"main":"lib/application.js","engines":{"node":"^4.8.4 || ^6.10.1 || ^7.10.1 || >= 8.1.4"},"exports":{".":{"import":"./dist/koa.mjs","require":"./lib/application.js"},"./*":"./*.js","./*.js":"./*.js","./package":"./package.json","./lib/context":"./lib/context.js","./lib/request":"./lib/request.js","./lib/response":"./lib/response.js","./package.json":"./package.json","./lib/context.js":"./lib/context.js","./lib/request.js":"./lib/request.js","./lib/application":"./lib/application.js","./lib/response.js":"./lib/response.js","./lib/application.js":"./lib/application.js"},"gitHead":"c5a54b9f56cb70d62a950e5c56c8ee7a0350cda9","scripts":{"lint":"eslint --ignore-path .gitignore .","test":"jest --forceExit","build":"gen-esm-wrapper . ./dist/koa.mjs","authors":"git log --format='%aN <%aE>' | sort -u > AUTHORS"},"_npmUser":{"name":"houd1ni","email":"brantokrule@gmail.com"},"repository":{"url":"github.com/houd1ni/koa","type":"git"},"_npmVersion":"8.19.2","description":"Koa web app framework","directories":{},"_nodeVersion":"19.2.0","dependencies":{"depd":"^2.0.0","only":"~0.0.2","vary":"^1.1.2","debug":"^4.3.2","fresh":"~0.5.2","cookies":"~0.8.0","destroy":"^1.0.4","parseurl":"^1.3.2","statuses":"^1.5.0","delegates":"^1.0.0","encodeurl":"^1.0.2","escape-html":"^1.0.3","http-assert":"^1.3.0","http-errors":"^1.6.3","koa-compose":"^4.1.0","koa-convert":"^2.0.0","on-finished":"^2.3.0","cache-content-type":"^1.0.0","content-disposition":"~0.5.2","is-generator-function":"^1.0.7"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.6","eslint":"^7.32.0","supertest":"^3.1.0","gen-esm-wrapper":"^1.0.6","eslint-config-koa":"^2.0.0","eslint-plugin-node":"^11.1.0","eslint-plugin-import":"^2.18.2","eslint-plugin-promise":"^5.1.0","eslint-config-standard":"^16.0.3","eslint-plugin-standard":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/koa_2.14.1_1676667272063_0.21221235692638651","host":"s3://npm-registry-packages"}},"2.14.2":{"name":"@houd1ni/koa","version":"2.14.2","keywords":["web","app","http","application","framework","middleware","rack"],"license":"MIT","_id":"@houd1ni/koa@2.14.2","maintainers":[{"name":"houd1ni","email":"brantokrule@gmail.com"}],"dist":{"shasum":"aba29ea3bc92ad856241bbebc3230036378ccfac","tarball":"https://registry.npmjs.org/@houd1ni/koa/-/koa-2.14.2.tgz","fileCount":11,"integrity":"sha512-fWKOhdBYN4GsgJd32UwV3n7/5+tGPD857lmedMv8Yn6tyRmrbTLlTB/IytfHOWiQYcb2qhWCIqAdSuVFFuCMAA==","signatures":[{"sig":"MEUCIQDwqgzJ+CkuAenJeinAmPz79COx2zikjMLVT6/OW+zvXAIgcsvKFRcUwAIfyuMfC95o0DDqlrMdRsaDm8SO3hC/YWU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":72495,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj7+oZACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpssRAAjJqwEym0mVuCJ+suyErl6C/OfPUmw9nLXOosE9H53jWBzlEE\r\nSzdf1b7aifqR0UGABkiSZyu8uY5uTrEfgOB50w3p9lFthsp7kPNGclRTqFi9\r\n2srG5H9p51PjG4lblGdsgYmdxQBYU+VbEczJQZKa0ITvgHdiRgMLDRrr1tlc\r\nLPvVqV1dhCCmm9m2i0kB7oCCPbOKTRW4HJ0zTMm9F1WDPcajuFSDmnq/PvNu\r\nQ0pMBEiCZJmXjjzolv5Tgs73AeVdDt6/ilWYt8nHyEWYLGbi3kPfkQ/ZROkG\r\nhUaOnVZVy6ZGSHZstf/W+l/3fLju2JEwyO8PA9q7xehylvlxBgCIdgtYq29w\r\naRS8gvnYBBSKJJkXWNK/QfA75NAcuEYG3xeV5uLeP/OLCnnq/UPcH6HlkgI8\r\ne4CciBRuRYYmyRjqDRsHaAeloz1jDzLSligHVdVi6KpQMchLbChh4Sy9WQ98\r\nGix9cQNsMi8BOxhLxeiO9GgFzozjw7lo95y9B6X2ogs/WCICl6dpa4FQ200i\r\nT+lcfzIY/nTx1moWIg2i0m8MtZOa1QWjxboHv9QnPMB/00Bok7GCbo3c2iF6\r\naThIET8EgaXP2ymoJxk4zDQEKgOALfuOC6HbBRkCZkCVSKnFpcn/HSYo3A6U\r\n0ai5DDGKj0qBH4rfZYrwZ2zohCeEI7ANcf8=\r\n=B9kN\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"testEnvironment":"node"},"main":"lib/application.js","engines":{"node":"^4.8.4 || ^6.10.1 || ^7.10.1 || >= 8.1.4"},"exports":{".":{"import":"./dist/koa.mjs","require":"./lib/application.js"},"./*":"./*.js","./*.js":"./*.js","./package":"./package.json","./lib/context":"./lib/context.js","./lib/request":"./lib/request.js","./lib/response":"./lib/response.js","./package.json":"./package.json","./lib/context.js":"./lib/context.js","./lib/request.js":"./lib/request.js","./lib/application":"./lib/application.js","./lib/response.js":"./lib/response.js","./lib/application.js":"./lib/application.js"},"gitHead":"0e05f41a1da176a90020b20db9cffa465ee861a9","scripts":{"lint":"eslint --ignore-path .gitignore .","test":"jest --forceExit","build":"gen-esm-wrapper . ./dist/koa.mjs","authors":"git log --format='%aN <%aE>' | sort -u > AUTHORS"},"_npmUser":{"name":"houd1ni","email":"brantokrule@gmail.com"},"repository":{"url":"github.com/houd1ni/koa","type":"git"},"_npmVersion":"8.19.2","description":"Koa web app framework","directories":{},"_nodeVersion":"19.2.0","dependencies":{"depd":"^2.0.0","only":"~0.0.2","vary":"^1.1.2","debug":"^4.3.2","fresh":"~0.5.2","cookies":"~0.8.0","destroy":"^1.0.4","parseurl":"^1.3.2","statuses":"^1.5.0","delegates":"^1.0.0","encodeurl":"^1.0.2","escape-html":"^1.0.3","http-assert":"^1.3.0","http-errors":"^1.6.3","koa-compose":"^4.1.0","koa-convert":"^2.0.0","on-finished":"^2.3.0","cache-content-type":"^1.0.0","content-disposition":"~0.5.2","is-generator-function":"^1.0.7"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.6","eslint":"^7.32.0","supertest":"^3.1.0","gen-esm-wrapper":"^1.0.6","eslint-config-koa":"^2.0.0","eslint-plugin-node":"^11.1.0","eslint-plugin-import":"^2.18.2","eslint-plugin-promise":"^5.1.0","eslint-config-standard":"^16.0.3","eslint-plugin-standard":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/koa_2.14.2_1676667417398_0.06794638231074024","host":"s3://npm-registry-packages"}},"2.14.3":{"name":"@houd1ni/koa","version":"2.14.3","keywords":["web","app","http","application","framework","middleware","rack"],"license":"MIT","_id":"@houd1ni/koa@2.14.3","maintainers":[{"name":"houd1ni","email":"brantokrule@gmail.com"}],"dist":{"shasum":"3de1d79a630f8c01469ab933a12a6f122b38177d","tarball":"https://registry.npmjs.org/@houd1ni/koa/-/koa-2.14.3.tgz","fileCount":11,"integrity":"sha512-9Lzah6mYBfGuyr1bETZNAGwFQiiHK32JMJXK/LmDcPQ4wACU/JWA+pS0I79yHXTWr2ccS7ImXCm3CcZ7K6gLfA==","signatures":[{"sig":"MEQCIH5/uMmqhc1tYQz6Rs05g4RSLMyoCP9a2q82lWNsISR9AiAE84lK9g28uvTB8G0TrxpuImQXz79XD+7qrYifWIqdfg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":72522,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj7/KOACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpy5hAAhRpGWHlJ0OxIJyZE1dR/EKIHwHHlmwwCNr6BgEzyKVKzJNsW\r\nLS1dydhSd7TQ/42UtN5JzOOttu4uR2mh7SrB8tZLeoPQyw4T2aXWrhbj3uPt\r\nl2I3gf8aV3ECzu/QamnnmA8pEfbIfOqEji9HykjiWH/6rU/CSkv2GXCGHdTs\r\nRbrW4TdhTyTcfuAa+2ENbUqUmz1+wBKYcClsPpxpx1vjuCYEb4CSP15qxegx\r\naf0TM0bn8P8QTAWeDvzFjbtGMSCjVYvP3xClFY9SoQsJ/9DoYCE9yLp6tZw0\r\njfNOHfC7iVNwO5GpjPT7KlsSdJw9LXhNH16OYLkbrl7pbAhkZLm0FFoYqI4t\r\n3y41rZrzPqDV+f46zuBx/E0cBKye7PCPrx/5A2+eGAs4vc0OQ7TqCjpWAryL\r\n0SDoSoycpJEUs0KYQ2DhfC0O76pK4fj12vKmLv9wyDcj43gTHOwKxm6G9YMh\r\n16jTNXrcVLhAAJYm9ODhiE4R3edMCuTCc33UTPOVpPgvudZWz9diZRTaQC5K\r\naSozgxYB3jCnQAfTPQcK8Nc5nPbNdO6E1CcuPS/Op+6wT5u/QQ0rIqhdEhLH\r\nlfwWZMuj3d3HpMLDK8kJnHFxGu4mHzcsGSG0CcuCIQkvw8gjJMSflGQky6+m\r\nzw2oXqhdrfk7ky0R70EVy5ON51S4K6UORdw=\r\n=/7Qs\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"testEnvironment":"node"},"main":"lib/application.js","types":"./index.d.ts","engines":{"node":"^4.8.4 || ^6.10.1 || ^7.10.1 || >= 8.1.4"},"exports":{".":{"import":"./dist/koa.mjs","require":"./lib/application.js"},"./*":"./*.js","./*.js":"./*.js","./package":"./package.json","./lib/context":"./lib/context.js","./lib/request":"./lib/request.js","./lib/response":"./lib/response.js","./package.json":"./package.json","./lib/context.js":"./lib/context.js","./lib/request.js":"./lib/request.js","./lib/application":"./lib/application.js","./lib/response.js":"./lib/response.js","./lib/application.js":"./lib/application.js"},"gitHead":"f63d717d62922eb78b96cea23f7819442fd2bca1","scripts":{"lint":"eslint --ignore-path .gitignore .","test":"jest --forceExit","build":"gen-esm-wrapper . ./dist/koa.mjs","authors":"git log --format='%aN <%aE>' | sort -u > AUTHORS"},"_npmUser":{"name":"houd1ni","email":"brantokrule@gmail.com"},"repository":{"url":"github.com/houd1ni/koa","type":"git"},"_npmVersion":"8.19.2","description":"Koa web app framework","directories":{},"_nodeVersion":"19.2.0","dependencies":{"depd":"^2.0.0","only":"~0.0.2","vary":"^1.1.2","debug":"^4.3.2","fresh":"~0.5.2","cookies":"~0.8.0","destroy":"^1.0.4","parseurl":"^1.3.2","statuses":"^1.5.0","delegates":"^1.0.0","encodeurl":"^1.0.2","escape-html":"^1.0.3","http-assert":"^1.3.0","http-errors":"^1.6.3","koa-compose":"^4.1.0","koa-convert":"^2.0.0","on-finished":"^2.3.0","cache-content-type":"^1.0.0","content-disposition":"~0.5.2","is-generator-function":"^1.0.7"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.6","eslint":"^7.32.0","supertest":"^3.1.0","gen-esm-wrapper":"^1.0.6","eslint-config-koa":"^2.0.0","eslint-plugin-node":"^11.1.0","eslint-plugin-import":"^2.18.2","eslint-plugin-promise":"^5.1.0","eslint-config-standard":"^16.0.3","eslint-plugin-standard":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/koa_2.14.3_1676669582170_0.5283231980271508","host":"s3://npm-registry-packages"}},"2.14.4":{"name":"@houd1ni/koa","version":"2.14.4","keywords":["web","app","http","application","framework","middleware","rack"],"license":"MIT","_id":"@houd1ni/koa@2.14.4","maintainers":[{"name":"houd1ni","email":"brantokrule@gmail.com"}],"dist":{"shasum":"0877d2ade4b41fe5f4bfaaf2cc25033f61f73efa","tarball":"https://registry.npmjs.org/@houd1ni/koa/-/koa-2.14.4.tgz","fileCount":11,"integrity":"sha512-CIPrjeXF7sitghdvEE2YPtUT2wK+Q1JFYJhCaZbvqXb+DZGWWpCmG9wlSkj3+zTI9gHzLphMGTDK6dcTlr1miA==","signatures":[{"sig":"MEUCIAZaWdjWBYLQ80ui7Bo6KJItaT6vTSkhrFO6l13lf/vXAiEAga0RvEta5r/cKyzErzg/JViOMM8XGDUDW79NR2AmrTk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":72551,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj8ADOACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr2+w/+KbUv4I4EkbZyYKdFizm84C9jZSHOY2PsyCM2euFPDo2sUzB+\r\nXt6UeAS42ODwE6AqpGjzmRJlLgVfHUS0Z1hUPniN9nboQqq1pY3OZJrYtltM\r\nDvBzSS5Xbv6JMLP3BimD70vQ+wvJEN8a23327pXi5dp4v2xjsI7FDKylO6Y6\r\nDT+D1xDek7oKrVpy95yyj10reWtyXKqZX7ub00/VMeuLWwOKP0NJkLT79Ql0\r\nNLlA9eUFRCgCv/bcoekKQWi2uX/axeTAYpWILUcWo/vxvxWpmhWR6yvNgNyi\r\nhGzKLcuH+/U0nQrJZSVTs2s1J7huO2tULxmK7uj9G0M2CAi9GqW/QDuCpetR\r\nxX/UmeMZSKq924rwiZMQwHzV6hxb9OBRBU23i4ypr2P0s4yI34VL3uHRDqQv\r\n18jWo7sh6wiDv7y+6ITMqQ9t1IGOIHg+kIIZqPZ4cXg95XS7K31SK2hpybrG\r\ntc/lOmM2dLlFTdbce5sfYzFDCIpsaBwybMdrqyWrXPjnTLwc6fV0raSfSPzk\r\nmsxyfOzoPZRsLoOh+OlHc0KcqlFhrzK1DYfpEosQ3JyBgiP3HDASAvdP8Ywc\r\nyIUnN3j5kzwnfy5wU42nOFoIQ84xKvtm6LkA7y/mpyDMD8PSFdYcEnTFlq4y\r\nNbnEIGtbcbB5kdVfH07HK1MOl444qyfrmSE=\r\n=I8bR\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"testEnvironment":"node"},"main":"lib/application.js","types":"./index.d.ts","engines":{"node":"^4.8.4 || ^6.10.1 || ^7.10.1 || >= 8.1.4"},"exports":{".":{"import":"./dist/koa.mjs","require":"./lib/application.js"},"./*":"./*.js","./*.js":"./*.js","./package":"./package.json","./lib/context":"./lib/context.js","./lib/request":"./lib/request.js","./lib/response":"./lib/response.js","./package.json":"./package.json","./lib/context.js":"./lib/context.js","./lib/request.js":"./lib/request.js","./lib/application":"./lib/application.js","./lib/response.js":"./lib/response.js","./lib/application.js":"./lib/application.js"},"gitHead":"c9460df087440fa1db62f8e9d5a83dda77a2c433","scripts":{"lint":"eslint --ignore-path .gitignore .","test":"jest --forceExit","build":"gen-esm-wrapper . ./dist/koa.mjs","authors":"git log --format='%aN <%aE>' | sort -u > AUTHORS"},"_npmUser":{"name":"houd1ni","email":"brantokrule@gmail.com"},"repository":{"url":"github.com/houd1ni/koa","type":"git"},"_npmVersion":"8.19.2","description":"Koa web app framework","directories":{},"_nodeVersion":"19.2.0","dependencies":{"depd":"^2.0.0","only":"~0.0.2","vary":"^1.1.2","debug":"^4.3.2","fresh":"~0.5.2","cookies":"~0.8.0","destroy":"^1.0.4","parseurl":"^1.3.2","statuses":"^1.5.0","delegates":"^1.0.0","encodeurl":"^1.0.2","escape-html":"^1.0.3","http-assert":"^1.3.0","http-errors":"^1.6.3","koa-compose":"^4.1.0","koa-convert":"^2.0.0","media-typer":"^1.1.0","on-finished":"^2.3.0","cache-content-type":"^1.0.0","content-disposition":"~0.5.2","is-generator-function":"^1.0.7"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.6","eslint":"^7.32.0","supertest":"^3.1.0","gen-esm-wrapper":"^1.0.6","eslint-config-koa":"^2.0.0","eslint-plugin-node":"^11.1.0","eslint-plugin-import":"^2.18.2","eslint-plugin-promise":"^5.1.0","eslint-config-standard":"^16.0.3","eslint-plugin-standard":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/koa_2.14.4_1676673229965_0.6298266674016328","host":"s3://npm-registry-packages"}},"2.14.5":{"name":"@houd1ni/koa","version":"2.14.5","keywords":["web","app","http","application","framework","middleware","rack"],"license":"MIT","_id":"@houd1ni/koa@2.14.5","maintainers":[{"name":"houd1ni","email":"brantokrule@gmail.com"}],"dist":{"shasum":"3ff7f09f8a26cd7e37a02ce2421957a2d6e08586","tarball":"https://registry.npmjs.org/@houd1ni/koa/-/koa-2.14.5.tgz","fileCount":11,"integrity":"sha512-LgCRYe3tgNGwon1P75ZMxDx4p4gyvdiFmSg7SqlgYmoz2/TKo5mbfbz4P9K+b9sEo222zOsxWFzl7nxL45uUMg==","signatures":[{"sig":"MEQCIDX2dZx8VuVL9bzgp1V6PLhz8pkXMU39ekwYzKWhWJGxAiAg8mbjDV+tWRPBKbCHLdUjYaDpQHiHm0fi8HxBweYjjQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":72551,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj+WxLACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrwkA//ZlGNLCAe3sG+VDQ3q9jch9DWZWMKguL+3IIt6Ei6jU2B8JmW\r\n1M7UnG/m2jfiIsMtBfu9Rl5bNBa3OawWzluL9YwlzBK17f8LhHhF6Cn9rOA0\r\nd5EBB+UW7ToxVcgGnwp1Zu15oOVHuc6sM2bCjQ7ibFCEu88HgEW+p4qw1lsu\r\nK9Xp3RugtNbcXhAWHgmVXGFtOHBusWF3d0CPFFqJ1ZjDhhjRTwaRlNOlbqnn\r\nmt29imLjSsOA9nO23HR3xHChnXL9OLv92RlCVVVGSwaMzEBj0xXbkr8APrKk\r\n0BbZW0jw/dduiGOIi0v80WTClukKC4mPv2UlWUIpyg/qQU00r1xurlXE+xaV\r\nY3e95zpQnYK+EW8RrTxECY4ZjhuE/pFI/UVYamatS7w1gnyaVeIIkP6il7SK\r\nBzj5Oxnm1lvMIT6hirEHnwo9j8mHjJrIG+71TPjG5JAOWwOhDKETCbd1yhuU\r\nlgOuf2p5gj9CMKoq//E1Jo2Cb7qGn73b9z7NjIFfvD7e+hCBry3XGMLXzOdm\r\nINckMgtFI1OzJ2CnQmAUm7yzA+CkMf+0tPIrGuCyZQD4IUPiGO6LsdffaHH8\r\nVISBWXd1e8fDEXsKR3jzr4nV8+MJguxKrtE6op/+Er6+5Nc2mQHpmogC902Z\r\ngnyoVl8Yo3U34PFYGS7IhQ2rpFVKXgb53Pk=\r\n=UlI6\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"testEnvironment":"node"},"main":"lib/application.js","types":"./index.d.ts","engines":{"node":"^4.8.4 || ^6.10.1 || ^7.10.1 || >= 8.1.4"},"exports":{".":{"import":"./dist/koa.mjs","require":"./lib/application.js"},"./*":"./*.js","./*.js":"./*.js","./package":"./package.json","./lib/context":"./lib/context.js","./lib/request":"./lib/request.js","./lib/response":"./lib/response.js","./package.json":"./package.json","./lib/context.js":"./lib/context.js","./lib/request.js":"./lib/request.js","./lib/application":"./lib/application.js","./lib/response.js":"./lib/response.js","./lib/application.js":"./lib/application.js"},"gitHead":"6c29affe999072440522830937922866ab670a3d","scripts":{"lint":"eslint --ignore-path .gitignore .","test":"jest --forceExit","build":"gen-esm-wrapper . ./dist/koa.mjs","authors":"git log --format='%aN <%aE>' | sort -u > AUTHORS"},"_npmUser":{"name":"houd1ni","email":"brantokrule@gmail.com"},"repository":{"url":"github.com/houd1ni/koa","type":"git"},"_npmVersion":"8.19.2","description":"Koa web app framework","directories":{},"_nodeVersion":"19.2.0","dependencies":{"depd":"^2.0.0","only":"~0.0.2","vary":"^1.1.2","debug":"^4.3.2","fresh":"~0.5.2","cookies":"~0.8.0","destroy":"^1.0.4","parseurl":"^1.3.2","statuses":"^1.5.0","delegates":"^1.0.0","encodeurl":"^1.0.2","escape-html":"^1.0.3","http-assert":"^1.3.0","http-errors":"^2.0.0","koa-compose":"^4.1.0","koa-convert":"^2.0.0","media-typer":"^1.1.0","on-finished":"^2.3.0","cache-content-type":"^1.0.0","content-disposition":"~0.5.2","is-generator-function":"^1.0.7"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.0.6","eslint":"^7.32.0","supertest":"^3.1.0","gen-esm-wrapper":"^1.0.6","eslint-config-koa":"^2.0.0","eslint-plugin-node":"^11.1.0","eslint-plugin-import":"^2.18.2","eslint-plugin-promise":"^5.1.0","eslint-config-standard":"^16.0.3","eslint-plugin-standard":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/koa_2.14.5_1677290571024_0.7599419282560682","host":"s3://npm-registry-packages"}},"2.14.6":{"name":"@houd1ni/koa","version":"2.14.6","keywords":["web","app","http","application","framework","middleware","rack"],"license":"MIT","_id":"@houd1ni/koa@2.14.6","maintainers":[{"name":"houd1ni","email":"brantokrule@gmail.com"}],"dist":{"shasum":"156d3cd3f9d552699e257c899e952b6ded88d28c","tarball":"https://registry.npmjs.org/@houd1ni/koa/-/koa-2.14.6.tgz","fileCount":11,"integrity":"sha512-7soxlJWhIQDJywxXObR/Np7yR0Tk99exWFuDcjREbQOhhjQ3o6x9LtDamKZrLqyWkR726KGOU59hs/LtPgBtaA==","signatures":[{"sig":"MEUCIQCs/aY2Gq3qhIkeH1AGwr1eLIlBxcxmB+ellbRkJIsLkwIgQ9loyefhV8fZypEBw2Ls6ARBU3GKZW0TruKqVlOilxY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":72553,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj+dNNACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrGJA//QzLqig3JH9ELH6AQ4vY1EEJxPjLzC8XeH/VBQcJW5Qkmt7Ug\r\na5yPEtB1C7XyC5KOS8z/A4kxyGo5WnRwi/4PvVfiRqrdHugxBgrrNm0GCWvt\r\n7LTylRGygdmvtobtuyf50+Wehxa/Rdh6TwpTKd48VJ+XubPw+clwIOUdiE/f\r\nebjTWdKE5goiyPySl+Ite5Ixd3jrP75soixyYlUr4+kX9HRorMAHZsP6EWdG\r\nzxDq4HHSq/jlaeu17FotQ4OhL9UBkmJwxhAk9zR2pbtuSNp6u2iHka/r5mPz\r\nemGyJ9AxZixHiWl5b3xFKMVclOfHYZ1F0gP0y1x621tOM1mboduPgziqHkpo\r\nHEh4iSjX8v4E3m8Ac9jggYSzWU0z9F/tQfDP1/9cZATrwlUZDI7BxZgBBI7r\r\n1FzlqxgVk4Zz2Kx58Quuv12OdTY7Qn2G9WVB7QPqZAtRmFltHRDQ5gEiPwRy\r\nrrg+pRtDO1B4mmM4RhVBJpKBG7vPdo4mthDr6Zn/ODOioFeW+gtfenwUeOI2\r\nrucwHzrNXXKrDv2M63zf4GV62mIascnr/D2W83/jQdyTuhgde36kdRinWOkB\r\ndZj0vHk49f4eBJmpXAlJlhHlR2tWwm2i0KggTGy+y55F726bfiPe5L3/UhnN\r\nAN+oheFJ8gbBuvEVhPN+47WnnPAQuI7SVIs=\r\n=vJjN\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"testEnvironment":"node"},"main":"lib/application.js","types":"./index.d.ts","engines":{"node":"^4.8.4 || ^6.10.1 || ^7.10.1 || >= 8.1.4"},"exports":{".":{"import":"./dist/koa.mjs","require":"./lib/application.js"},"./*":"./*.js","./*.js":"./*.js","./package":"./package.json","./lib/context":"./lib/context.js","./lib/request":"./lib/request.js","./lib/response":"./lib/response.js","./package.json":"./package.json","./lib/context.js":"./lib/context.js","./lib/request.js":"./lib/request.js","./lib/application":"./lib/application.js","./lib/response.js":"./lib/response.js","./lib/application.js":"./lib/application.js"},"gitHead":"1d3924f93c401bf09c04a22e6e73989acb437300","scripts":{"lint":"eslint --ignore-path .gitignore .","test":"jest --forceExit","build":"gen-esm-wrapper . ./dist/koa.mjs","authors":"git log --format='%aN <%aE>' | sort -u > AUTHORS"},"_npmUser":{"name":"houd1ni","email":"brantokrule@gmail.com"},"repository":{"url":"github.com/houd1ni/koa","type":"git"},"_npmVersion":"8.19.2","description":"Koa web app framework","directories":{},"_nodeVersion":"19.2.0","dependencies":{"depd":"^2.0.0","only":"~0.0.2","vary":"^1.1.2","debug":"^4.3.4","fresh":"~0.5.2","cookies":"~0.8.0","destroy":"^1.2.0","parseurl":"^1.3.3","statuses":"^2.0.1","delegates":"^1.0.0","encodeurl":"^1.0.2","escape-html":"^1.0.3","http-assert":"^1.5.0","http-errors":"^2.0.0","koa-compose":"^4.1.0","koa-convert":"^2.0.0","media-typer":"^1.1.0","on-finished":"^2.4.1","cache-content-type":"^1.0.1","content-disposition":"~0.5.4","is-generator-function":"^1.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.4.3","eslint":"^8.34.0","supertest":"^6.3.3","gen-esm-wrapper":"^1.1.3","eslint-config-koa":"^2.0.2","eslint-plugin-node":"^11.1.0","eslint-plugin-import":"^2.27.5","eslint-plugin-promise":"^6.1.1","eslint-config-standard":"^17.0.0","eslint-plugin-standard":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/koa_2.14.6_1677316941505_0.5845502344388105","host":"s3://npm-registry-packages"}},"2.15.0":{"name":"@houd1ni/koa","version":"2.15.0","keywords":["web","app","http","application","framework","middleware","rack"],"license":"MIT","_id":"@houd1ni/koa@2.15.0","maintainers":[{"name":"houd1ni","email":"brantokrule@gmail.com"}],"dist":{"shasum":"20a0fa437029fba5284c73db9360628c0bbd97cf","tarball":"https://registry.npmjs.org/@houd1ni/koa/-/koa-2.15.0.tgz","fileCount":12,"integrity":"sha512-7fubPS2EOeJBDtGq5Fs2NLGrtc4L39rhreqhlB4DcSX67PjpbcfuDbq61AcKgmkBUcejthjk8hv2t3grCwtRcA==","signatures":[{"sig":"MEYCIQCORA8Rk6YF492DQ9UXN2zeZCdn+zrkjtNAfBJXjXh7DQIhAM/O7SiTPTdr/AnY86OCkJFiW8Gc7s1YEQSwgBGEGJii","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":73476,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj+q46ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmryihAAiMZ7BKaA+vTIH7bffOx2b8zP+0wVw555U7EZDc22pcyaEah8\r\nHsn8IOwZD68NoMBBBknAabCGeN4yrVUUIFkEozjJa6OyFGzpYwATKCdivCfz\r\nO2ucOgJqid1NsqvxffW00JLoYBF3tmPVv/dhTdH2+Qkqx7BhQK1leHQyJ6tT\r\nEzT+OWdsN8ogD7JzpFDfj6MoKuS5O568FkfEgFiGetuYGJblYgB6LkYU3E/M\r\njmiGUD0O0ALOtYaol7GArpJT07xPNTurAD0d3s4RcEc+H20PJJ/3Gf24Y0ll\r\nkMDfnF6YbjHbUYC3Ct3BdTUdvD5D6+wf43VsAQuTbxtQ3FvdXa6WuXzYgHkF\r\n0dq2It8KnJGyJu2bW4SD8Q2yDaukbuGO4I0cseayK2EKJ4jaXy0PjRWldo36\r\nBolOJj7jdmbPf4XANx4h08CIOqH9CavA6gtKAolvSJgs/85nkvFhoh4k99YD\r\nIvki3lZNjO4bO17f3yXG1uHZbg+TNItSQXStzTasVPrVxmbmrfUHlZlfSUZh\r\nYF2nQlLC0ydYu3KXzgI39FavdwDqOXfrRGsOOVPRJV2sOvWeJFpc4VytIAbN\r\nOuQvucRkPCwRJXp2ZB7BspAZq8i0NaH87rjI0FMNkovh8AJKHMZqe4Z8uGRl\r\n4NYrN1JrazGRzu8pLHznVhp+regUl4J/0pU=\r\n=wRkN\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"testEnvironment":"node"},"main":"lib/application.js","types":"./index.d.ts","module":"lib/application.js","engines":{"node":">= 19.0.0"},"exports":{".":{"import":"./dist/koa.mjs","require":"./lib/application.js"},"./*":"./*.js","./*.js":"./*.js","./package":"./package.json","./lib/context":"./lib/context.js","./lib/request":"./lib/request.js","./lib/response":"./lib/response.js","./package.json":"./package.json","./lib/context.js":"./lib/context.js","./lib/request.js":"./lib/request.js","./lib/application":"./lib/application.js","./lib/response.js":"./lib/response.js","./lib/application.js":"./lib/application.js"},"gitHead":"78a1d50bdf7eac351f1ef030f72c4e9ecedca386","scripts":{"lint":"eslint --ignore-path .gitignore .","test":"jest --forceExit","build":"gen-esm-wrapper . ./dist/koa.mjs","authors":"git log --format='%aN <%aE>' | sort -u > AUTHORS"},"_npmUser":{"name":"houd1ni","email":"brantokrule@gmail.com"},"repository":{"url":"github.com/houd1ni/koa","type":"git"},"_npmVersion":"9.5.1","description":"Koa web app framework","directories":{},"_nodeVersion":"19.2.0","dependencies":{"depd":"^2.0.0","only":"~0.0.2","vary":"^1.1.2","debug":"^4.3.4","fresh":"~0.5.2","pepka":"^1.0.0-beta.8","cookies":"~0.8.0","destroy":"^1.2.0","parseurl":"^1.3.3","statuses":"^2.0.1","delegates":"^1.0.0","encodeurl":"^1.0.2","escape-html":"^1.0.3","http-errors":"^2.0.0","koa-compose":"^4.1.0","koa-convert":"^2.0.0","media-typer":"^1.1.0","on-finished":"^2.4.1","cache-content-type":"^1.0.1","content-disposition":"~0.5.4","is-generator-function":"^1.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.4.3","eslint":"^8.34.0","supertest":"^6.3.3","gen-esm-wrapper":"^1.1.3","eslint-config-koa":"^2.0.2","eslint-plugin-node":"^11.1.0","eslint-plugin-import":"^2.27.5","eslint-plugin-promise":"^6.1.1","eslint-config-standard":"^17.0.0","eslint-plugin-standard":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/koa_2.15.0_1677372986577_0.4831174986149871","host":"s3://npm-registry-packages"}},"2.15.1":{"name":"@houd1ni/koa","version":"2.15.1","keywords":["web","app","http","application","framework","middleware","rack"],"license":"MIT","_id":"@houd1ni/koa@2.15.1","maintainers":[{"name":"houd1ni","email":"brantokrule@gmail.com"}],"dist":{"shasum":"89f05b5a2d399d057fa28be6ef972fc981fcd119","tarball":"https://registry.npmjs.org/@houd1ni/koa/-/koa-2.15.1.tgz","fileCount":12,"integrity":"sha512-BbiE7dRG+O8tvndlJXJSWa/abg4LgfGKLl1Ek8Dk15Id0RPCsN8Ug3FFZvRKbx3MSYWvMifLM+VTuVdceoCLyQ==","signatures":[{"sig":"MEUCIQCD5npa+oCOknUyL0yoceZJSTEl9FDZU3hL2X067ZvpegIgONgNdyHMLGu266v4e8I21AoIQNTY1xeTN7v5GZtgGRc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":73410,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj+q7MACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpX5A//dLpr0JEC2qOBY1i9EgNKw+u6I79DTA6VUIvl+W8JJb+w1GEW\r\nq7rC6C/Y2RjufJapFTj/wT/z9Vfa9nh1e3X25OqW1/52KywP0047awoALJym\r\nZYkDVISJsu/9qaTwuQi8X7BpLEwjt0HvYlGWAdv3z4C4zfFsK7m0fbzQfuq1\r\npLL/j6VEJEaX5yiWNTXjsZzc0RVWkm8q5shnKnG+vU1c22+J2uPseHIW0nUe\r\ntnTC++aMjzxfnv/+6ON5ZlfHR0ONYLhBrdOndccf+kFLhOYW2maOVpsOOHNz\r\nRSj5eVMLYub5mHfKjKM+FMlP5tX4LzibRl7tIgblL16wjkYheRLTqYPPh3rl\r\nw2oXFFmJLhxnPDTsYHslG4yp0a4cslZfzN0fe7prAvS69wjFOXTbsHXXy5DF\r\nvByc9htIekYK9BII5WssT2OwHLslF5AcyqCqGWa2fr91teRAcegAPEsxby5N\r\n3/1SUQd1grJ2Y+/uqJ6pI1XtyzPZ2PTJ1e+cHYRLKEuLMc0WczZPUzIGIbUa\r\nXe0SdjtpKs05qPd4N5eyDKrJt6jB4ixVmv61/fhHASxOolDh78Vehdmz8S15\r\nmPkUmenB5E4jMin1AGJk3JHjoKIeSN+/q49HN0tjsUGxTrxyihpOayj6lxgk\r\n4lv2fTvgqFT7uMjZ6lAsfmOdTRWe72xRT/8=\r\n=Ubgq\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"testEnvironment":"node"},"types":"./index.d.ts","engines":{"node":">= 19.0.0"},"exports":{".":{"import":"./dist/koa.mjs","require":"./lib/application.js"},"./*":"./*.js","./*.js":"./*.js","./package":"./package.json","./lib/context":"./lib/context.js","./lib/request":"./lib/request.js","./lib/response":"./lib/response.js","./package.json":"./package.json","./lib/context.js":"./lib/context.js","./lib/request.js":"./lib/request.js","./lib/application":"./lib/application.js","./lib/response.js":"./lib/response.js","./lib/application.js":"./lib/application.js"},"gitHead":"c66508f138c41dc5e7b1d21cd59492f36b774ee3","scripts":{"lint":"eslint --ignore-path .gitignore .","test":"jest --forceExit","build":"gen-esm-wrapper . ./dist/koa.mjs","authors":"git log --format='%aN <%aE>' | sort -u > AUTHORS"},"_npmUser":{"name":"houd1ni","email":"brantokrule@gmail.com"},"repository":{"url":"github.com/houd1ni/koa","type":"git"},"_npmVersion":"9.5.1","description":"Koa web app framework","directories":{},"_nodeVersion":"19.2.0","dependencies":{"depd":"^2.0.0","only":"~0.0.2","vary":"^1.1.2","debug":"^4.3.4","fresh":"~0.5.2","pepka":"^1.0.0-beta.8","cookies":"~0.8.0","destroy":"^1.2.0","parseurl":"^1.3.3","statuses":"^2.0.1","delegates":"^1.0.0","encodeurl":"^1.0.2","escape-html":"^1.0.3","http-errors":"^2.0.0","koa-compose":"^4.1.0","koa-convert":"^2.0.0","media-typer":"^1.1.0","on-finished":"^2.4.1","cache-content-type":"^1.0.1","content-disposition":"~0.5.4","is-generator-function":"^1.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.4.3","eslint":"^8.34.0","supertest":"^6.3.3","gen-esm-wrapper":"^1.1.3","eslint-config-koa":"^2.0.2","eslint-plugin-node":"^11.1.0","eslint-plugin-import":"^2.27.5","eslint-plugin-promise":"^6.1.1","eslint-config-standard":"^17.0.0","eslint-plugin-standard":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/koa_2.15.1_1677373132279_0.7639654639029609","host":"s3://npm-registry-packages"}},"2.15.2":{"name":"@houd1ni/koa","version":"2.15.2","keywords":["web","app","http","application","framework","middleware","rack"],"license":"MIT","_id":"@houd1ni/koa@2.15.2","maintainers":[{"name":"houd1ni","email":"brantokrule@gmail.com"}],"dist":{"shasum":"914e832732aca1bd4eb2cbd67cace254ec512806","tarball":"https://registry.npmjs.org/@houd1ni/koa/-/koa-2.15.2.tgz","fileCount":12,"integrity":"sha512-jzt8BBwEszhlbSo0ij2EN9X4gfsNKenPyahoWEBWo4lmF0pexK3q4XXhpk3qK6voVbp6VMNZoecuh9BrhRm/6Q==","signatures":[{"sig":"MEQCICao0/1mzxzKauItrIi3cvR2MTZkSOQ64owHZLJ8/2siAiBxJZn3OaV/0JefFYK7VlDy/H+Cwut6mssysZzMmGNfUw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":73423,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj+q+mACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpuSw//dAfFOmEx1fcokO9JQ/KLShpb3QReQUOUlwxwnmaaVi0BCHvy\r\n8qtCv5dCj65BGbgt9M2lGA0pc56ax7suOy0EaYyelhI/tIeGTY3UWwT0cBeK\r\nnlDOu2hMeysw23BOHOaTvnu4A7Id/sulHnjuz3Jx7zD0VK9uccGZ7syVrtqa\r\n4Zl77C/h16FaYUdmbCiyTGKdJfkGmjfaTJUwl3/N3pSo3dn49BhUNj15aGZd\r\nq3g/bnmKPejymi5xBBR93VrZPfxrCpZlPeW/K3bQLVUtrFEFtYSFakZxF8hU\r\npJx2ELQCqWStmBu4Ao8lIOD32tRCQLSHUH1uG3m9G98swuVrSLTu2IeJLMRu\r\nx8E/1A8G8zsCa28e1Bv2yIeeJH/JN/nKo1aXW167GIECROequQZ1FfVOCM3O\r\ncKsk+hVBprcTwggbSbhesC3brxODFIqf3cU01sk+lPv50X01ZZmRwoNwhtvM\r\nZom0o3tHGO63Uf0RqrDVuKqVXBFcXymRWS2CyClKGbF6rlliHxjQf9UxySQs\r\n/HCRPe8J5GAXik5VYuNfhFR7BCLG1QgGmjBNCWcd9QMF9wfmZ04kRumQ6nxI\r\nYsqpbxS4iFSa5CeCw0uQqGZH2ITq1Le8c0ps1OCPFJBeK158kNMCI1GqbxSo\r\n7izjcOPZcfz+ixa9Z6nPgo6IYqDTHCbJHQQ=\r\n=T5iL\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"testEnvironment":"node"},"types":"./index.d.ts","engines":{"node":">= 19.0.0"},"exports":{".":{"import":"./dist/koa.mjs","require":"./lib/application.js"},"./*":"./*.js","./*.js":"./*.js","./package":"./package.json","./lib/context":"./lib/context.js","./lib/request":"./lib/request.js","./lib/response":"./lib/response.js","./package.json":"./package.json","./lib/context.js":"./lib/context.js","./lib/request.js":"./lib/request.js","./lib/application":"./lib/application.js","./lib/response.js":"./lib/response.js","./lib/application.js":"./lib/application.js"},"gitHead":"05a3686ea02f2bb3478b14304af889a44e49269b","scripts":{"lint":"eslint --ignore-path .gitignore .","test":"jest --forceExit","build":"gen-esm-wrapper . ./dist/koa.mjs","authors":"git log --format='%aN <%aE>' | sort -u > AUTHORS"},"_npmUser":{"name":"houd1ni","email":"brantokrule@gmail.com"},"repository":{"url":"github.com/houd1ni/koa","type":"git"},"_npmVersion":"9.5.1","description":"Koa web app framework","directories":{},"_nodeVersion":"19.2.0","dependencies":{"depd":"^2.0.0","only":"~0.0.2","vary":"^1.1.2","debug":"^4.3.4","fresh":"~0.5.2","pepka":"^1.0.0-beta.8","cookies":"~0.8.0","destroy":"^1.2.0","parseurl":"^1.3.3","statuses":"^2.0.1","delegates":"^1.0.0","encodeurl":"^1.0.2","escape-html":"^1.0.3","http-errors":"^2.0.0","koa-compose":"^4.1.0","koa-convert":"^2.0.0","media-typer":"^1.1.0","on-finished":"^2.4.1","cache-content-type":"^1.0.1","content-disposition":"~0.5.4","is-generator-function":"^1.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.4.3","eslint":"^8.34.0","supertest":"^6.3.3","gen-esm-wrapper":"^1.1.3","eslint-config-koa":"^2.0.2","eslint-plugin-node":"^11.1.0","eslint-plugin-import":"^2.27.5","eslint-plugin-promise":"^6.1.1","eslint-config-standard":"^17.0.0","eslint-plugin-standard":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/koa_2.15.2_1677373350179_0.010842965633457213","host":"s3://npm-registry-packages"}},"2.15.3":{"name":"@houd1ni/koa","version":"2.15.3","keywords":["web","app","http","application","framework","middleware","rack"],"license":"MIT","_id":"@houd1ni/koa@2.15.3","maintainers":[{"name":"houd1ni","email":"brantokrule@gmail.com"}],"dist":{"shasum":"256b4fc0f7758b9f6753fa8418d913e2a9d4197c","tarball":"https://registry.npmjs.org/@houd1ni/koa/-/koa-2.15.3.tgz","fileCount":12,"integrity":"sha512-dp1R1sVqiN3eaak3Ozcv5R3fz7R+QJC+2pHltwTe6zJ4tFZapWI/reYcUnlHgBfvbZmQjaBIu8rvLZs0frOBqQ==","signatures":[{"sig":"MEQCICzVuRD7YqJvgV6lHiQab1YjcFU6/EP+j2CQB1aURCZMAiA+U/H4nJJ4n3tnEl5T/m1Yr3xKHU03PgEo2EXKWNTYeQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":73410,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj+rC5ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrFoBAAnDS2efpjMlBZHu6qF/tNi0T8Fbn2gKw6nsHHqkiJmoj6Ilj4\r\ncjCau4DbldUIVSC5nuzMdJNcZx2vJl11aBIcKp16Y9aI9VkpRGFmlOQWigLb\r\nrFT4O9h2JYcY4Mo2Qi0o0vNCAqaViKhdNoT6K177dkCizdOnAs3Hula63/6A\r\nOmDTNH3aD6E3t7D2YgjPIF2iEr2voTbDk+mFwZ65R81Nu/udYVUeFAdXr9qB\r\nf5EYEfaZ7vJ1vXedh3ja9h1EyJgscL4oJBqRUMmHD6Sn/iU7okPhGtWB9Xqe\r\n42oWHBg5TaW/wN7/k6lMxHop9Z2Z7uFlXqA2k1XG5g55n74itVh/sauyzx2p\r\nnuSBfG2l56nu5nv7leGGepVFVZ6ZZN0W81UaWaraQRVMKbZT0045OGWhj2oE\r\nL0CdmqfQO15WkiNGnpvKMLU0xG2RF7ChGXFB+I/t3woJGEl+OcOUAQBpbpmE\r\nbW5a6bjIi5vaMSfML9jBYnBXtspBxMapYL73404wsT4mug3ACdArvQR+VVeP\r\nSYzDu2shTI0rXmXkVegxLHve21Xx8ywXR1/jf4tEYuhFE6m4v+G9dPy6jZsK\r\nZnAW4+j2zuThkIv/Gf0B/mJ5KHck0m0NsOcW+YTXpp8x7/KFaXgbgTDy7+ZA\r\nog8HSVOwvPo1F2tQub6WviPojoHq8LwxsyM=\r\n=c8AG\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"testEnvironment":"node"},"types":"./index.d.ts","engines":{"node":">= 19.0.0"},"exports":{".":{"import":"./dist/koa.mjs","require":"./lib/application.js"},"./*":"./*.js","./*.js":"./*.js","./package":"./package.json","./lib/context":"./lib/context.js","./lib/request":"./lib/request.js","./lib/response":"./lib/response.js","./package.json":"./package.json","./lib/context.js":"./lib/context.js","./lib/request.js":"./lib/request.js","./lib/application":"./lib/application.js","./lib/response.js":"./lib/response.js","./lib/application.js":"./lib/application.js"},"gitHead":"6031a0c26b04257a9e8ca90457182c950159cd3a","scripts":{"lint":"eslint --ignore-path .gitignore .","test":"jest --forceExit","build":"gen-esm-wrapper . ./dist/koa.mjs","authors":"git log --format='%aN <%aE>' | sort -u > AUTHORS"},"_npmUser":{"name":"houd1ni","email":"brantokrule@gmail.com"},"repository":{"url":"github.com/houd1ni/koa","type":"git"},"_npmVersion":"9.5.1","description":"Koa web app framework","directories":{},"_nodeVersion":"19.2.0","dependencies":{"depd":"^2.0.0","only":"~0.0.2","vary":"^1.1.2","debug":"^4.3.4","fresh":"~0.5.2","pepka":"^1.0.0-beta.8","cookies":"~0.8.0","destroy":"^1.2.0","parseurl":"^1.3.3","statuses":"^2.0.1","delegates":"^1.0.0","encodeurl":"^1.0.2","escape-html":"^1.0.3","http-errors":"^2.0.0","koa-compose":"^4.1.0","koa-convert":"^2.0.0","media-typer":"^1.1.0","on-finished":"^2.4.1","cache-content-type":"^1.0.1","content-disposition":"~0.5.4","is-generator-function":"^1.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.4.3","eslint":"^8.34.0","supertest":"^6.3.3","gen-esm-wrapper":"^1.1.3","eslint-config-koa":"^2.0.2","eslint-plugin-node":"^11.1.0","eslint-plugin-import":"^2.27.5","eslint-plugin-promise":"^6.1.1","eslint-config-standard":"^17.0.0","eslint-plugin-standard":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/koa_2.15.3_1677373625413_0.25747929675628134","host":"s3://npm-registry-packages"}},"2.15.4":{"name":"@houd1ni/koa","version":"2.15.4","keywords":["web","app","http","application","framework","middleware","rack"],"license":"MIT","_id":"@houd1ni/koa@2.15.4","maintainers":[{"name":"houd1ni","email":"brantokrule@gmail.com"}],"dist":{"shasum":"05fa04415a774e81c3b268fccda70c1d692a6d42","tarball":"https://registry.npmjs.org/@houd1ni/koa/-/koa-2.15.4.tgz","fileCount":12,"integrity":"sha512-VW52TpyWR+ulNWQ7HVL6962tia8o03GMvbNH19Mhik1X2dmFxrvZyJOmuR+Qc+11ImcUw3VDfilJ63Eld0CVmQ==","signatures":[{"sig":"MEUCIQC5oIY4QpwV8X2DFJgieE2HWtY+lGvmdq88IVQWgVXyywIgXftnXcTQUyTolfbRkcNyv4JCMKQfi6cyIysIOBKrmGg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":73642,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj+rOtACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpaJg/8DRzFuawxje/dYFxleLrNnpqvgvSFINUrNCgwRQvG3ZL+t6jo\r\nPtB3xCqNuXaMf2+klLYKGMbfcEyIzifYicDw0uCSlCddWjaWfh21IUi5fyUt\r\nZSqpZN7n4XaZl5cdXCikup7ui8Bp7qV93RQb9Ot5lGpmZsDutiieC6AbymXB\r\nBd0sy3odHtj2deXikt6XlCuNzY34NEr0HJ+U8V+KbGjfijAb12QfhsBwX8Jp\r\nCxugxw3kkEz3m0/BxgN8H/nDMJ6ipYFn9Me2eEU/G9FIaaSbN35cazI/xCrQ\r\nkuUKRz8e87P3zUMfeX5ezMEWS7jtpv6jICa4jQ/Eq0trOSdqQmlULEOft7Ed\r\nNBKKlVOuou9nO7AyLDaQ0uvj9QJApTIa3Z4t1l8YjvysS/r+AViRrjSBgejb\r\ntxi9nqQuH/6nV1DhU+6RNNZVuXIJ4NhR8axTYmsl7arhNf1oRxrVNbtE3VwF\r\nFB/SHvZhPF2YXe3VIA8GSp8hBmXlT0CTRAkLDRKu2SktqWT2UN/gvf8uqdMB\r\nsdh7f7oQZUAONj722BfNnVRrDsDBlo8S7Gpu8wKbbECdfzLi/PiNzWwY/x5w\r\newIq4/FN9ampsWHSVebwBkQ3AHmVHz/NIch09mftfbZDDrFmh2dLvMGPuKOd\r\nor5aUchBNoBXBKv+KWT8WYbPipM+BG/gczY=\r\n=yRSY\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"testEnvironment":"node"},"types":"./index.d.ts","engines":{"node":">= 19.0.0"},"exports":{".":{"import":"./dist/koa.mjs","require":"./lib/application.js"},"./*":"./*.js","./*.js":"./*.js","./package":"./package.json","./lib/context":"./lib/context.js","./lib/request":"./lib/request.js","./lib/response":"./lib/response.js","./package.json":"./package.json","./lib/context.js":"./lib/context.js","./lib/request.js":"./lib/request.js","./lib/application":"./lib/application.js","./lib/response.js":"./lib/response.js","./lib/application.js":"./lib/application.js"},"gitHead":"5a6475e896fc81538e83ba13b76ec0c2a4ac7321","scripts":{"lint":"eslint --ignore-path .gitignore .","test":"jest --forceExit","build":"gen-esm-wrapper . ./dist/koa.mjs","authors":"git log --format='%aN <%aE>' | sort -u > AUTHORS"},"_npmUser":{"name":"houd1ni","email":"brantokrule@gmail.com"},"repository":{"url":"github.com/houd1ni/koa","type":"git"},"_npmVersion":"9.5.1","description":"Koa web app framework","directories":{},"_nodeVersion":"19.2.0","dependencies":{"depd":"^2.0.0","only":"~0.0.2","vary":"^1.1.2","debug":"^4.3.4","fresh":"~0.5.2","pepka":"^1.0.0-beta.8","cookies":"~0.8.0","destroy":"^1.2.0","parseurl":"^1.3.3","statuses":"^2.0.1","delegates":"^1.0.0","encodeurl":"^1.0.2","escape-html":"^1.0.3","http-errors":"^2.0.0","koa-compose":"^4.1.0","koa-convert":"^2.0.0","media-typer":"^1.1.0","on-finished":"^2.4.1","cache-content-type":"^1.0.1","content-disposition":"~0.5.4","is-generator-function":"^1.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.4.3","eslint":"^8.34.0","supertest":"^6.3.3","gen-esm-wrapper":"^1.1.3","eslint-config-koa":"^2.0.2","eslint-plugin-node":"^11.1.0","eslint-plugin-import":"^2.27.5","eslint-plugin-promise":"^6.1.1","eslint-config-standard":"^17.0.0","eslint-plugin-standard":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/koa_2.15.4_1677374381606_0.25141815364894793","host":"s3://npm-registry-packages"}},"2.15.5":{"name":"@houd1ni/koa","version":"2.15.5","keywords":["web","app","http","application","framework","middleware","rack"],"license":"MIT","_id":"@houd1ni/koa@2.15.5","maintainers":[{"name":"houd1ni","email":"brantokrule@gmail.com"}],"dist":{"shasum":"7a661de1efbd4fdbdae2800e32111edebf1d7eae","tarball":"https://registry.npmjs.org/@houd1ni/koa/-/koa-2.15.5.tgz","fileCount":12,"integrity":"sha512-ACIhYVNsCLtPNjdt8tbTYdHYdZfloKrNUZdc2KBAg/PI6dtsKIDTjPQCBTfZdxzO0BUO774V13/eC5BjDgetzA==","signatures":[{"sig":"MEUCIQCpscHOgaBMuImrXJxJBuICnvF62i0sDKQYIHa22vbpCgIgFY86lx1dNSu1cVsw3o0IqvABUDm+510Nxchd9cno7MI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":73538,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj+rVPACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmofwQ/9HVoO/5NlO+e80IEt2rJIQFPopInca5dxPgUTSJEsMw6SJpu8\r\nhGKNefn/gft8xSJEjwMSZRbNcLP+E8kZrUrphm/pT4NoKE2/vE3SyhF3DBor\r\nWt8x5dLu5fN7rp1rYL+SiEaqlQOze9VRKCeLcABj0yUelSGHI43AkVdESG3K\r\nmNdTxU/ogyE0XRgn4EhLBJUoSxedRcamzq8Npke+tXF3H0LLhxONTw340ms1\r\nRAzpWkgrwVVw946Xb7yMutS6CI603JcCJy2r4dI6jgPWZj85rjWBlUqAOt++\r\nn6o/zClzvW3aahF7s31y7qeiErOXERNnbnlMFXEOUoqo1IimDWjrBhnuB0oa\r\nWJzF5DwqWUCGw8Te0YNTY5anJBBLPsGuK0nYTBNHdyEBKROf6MKv7ho4xjHC\r\nmpl+nrTmySNVGy17Ap6BKYFeFNBSgvq0ji54XawSWOmHXSfGRVzWCRr+c7ID\r\n3rPtEnPwJgUThCECJRmuPnUF4cbRYxrMGBrU1UslOaULyJ1u6IvahEb9T37n\r\nFvdVqeSoRP9Gf62SqvyWlBycJ+tuJHxwX8Bo3pXW5ubOuHt0ztQpBDMYxjD0\r\n+GkJkawTLQlUlZYm4q079MZb5+J34uYXwHqAV2QvdHOW9cQTD6jqZpQrc0Tf\r\nmLNR+VyQLsOJh+jLX9WY8RGylyH3v+6U9ZA=\r\n=KBPs\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"testEnvironment":"node"},"types":"./index.d.ts","engines":{"node":">= 19.0.0"},"exports":{".":{"import":"./dist/koa.mjs","require":"./lib/application.js"},"./*":"./*.js","./*.js":"./*.js","./package":"./package.json","./lib/context":"./lib/context.js","./lib/request":"./lib/request.js","./lib/response":"./lib/response.js","./package.json":"./package.json","./lib/context.js":"./lib/context.js","./lib/request.js":"./lib/request.js","./lib/application":"./lib/application.js","./lib/response.js":"./lib/response.js","./lib/application.js":"./lib/application.js"},"gitHead":"5e40cb274873ad1f63fb20c1e72b94f52e5033ab","scripts":{"lint":"eslint --ignore-path .gitignore .","test":"jest --forceExit","build":"gen-esm-wrapper . ./dist/koa.mjs","authors":"git log --format='%aN <%aE>' | sort -u > AUTHORS"},"_npmUser":{"name":"houd1ni","email":"brantokrule@gmail.com"},"repository":{"url":"github.com/houd1ni/koa","type":"git"},"_npmVersion":"9.5.1","description":"Koa web app framework","directories":{},"_nodeVersion":"19.2.0","dependencies":{"depd":"^2.0.0","only":"~0.0.2","vary":"^1.1.2","debug":"^4.3.4","fresh":"~0.5.2","pepka":"^1.0.0-beta.8","cookies":"~0.8.0","destroy":"^1.2.0","parseurl":"^1.3.3","statuses":"^2.0.1","delegates":"^1.0.0","encodeurl":"^1.0.2","escape-html":"^1.0.3","http-errors":"^2.0.0","koa-compose":"^4.1.0","koa-convert":"^2.0.0","media-typer":"^1.1.0","on-finished":"^2.4.1","cache-content-type":"^1.0.1","content-disposition":"~0.5.4","is-generator-function":"^1.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.4.3","eslint":"^8.34.0","supertest":"^6.3.3","gen-esm-wrapper":"^1.1.3","eslint-config-koa":"^2.0.2","eslint-plugin-node":"^11.1.0","eslint-plugin-import":"^2.27.5","eslint-plugin-promise":"^6.1.1","eslint-config-standard":"^17.0.0","eslint-plugin-standard":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/koa_2.15.5_1677374799602_0.041443971369301114","host":"s3://npm-registry-packages"}},"2.15.6":{"name":"@houd1ni/koa","version":"2.15.6","keywords":["web","app","http","application","framework","middleware","rack"],"license":"MIT","_id":"@houd1ni/koa@2.15.6","maintainers":[{"name":"houd1ni","email":"brantokrule@gmail.com"}],"dist":{"shasum":"ae5ec29cef72600de2eced726a7739fc40bc6454","tarball":"https://registry.npmjs.org/@houd1ni/koa/-/koa-2.15.6.tgz","fileCount":12,"integrity":"sha512-L1PfI6r/dLYl3isrNyg6ahk/H8TYHXBSaHbECIFBk8Jspfl9szBEfiCqIdsrSD5ORKZznzoFO25yCFd7iavp8g==","signatures":[{"sig":"MEUCIQDcoEFDXIrrE8YqsipgAR1bPh3a1mD4AlqKQNmlp2pRcQIgUN5xIQ4LtojEAbcCiebuXhweLAb8SUFbK/FxlihqfTY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":73254,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj+rhyACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp3ABAAlkqbEXC795cnwfhcqFPcQFErq+63Cgk/HdcAx3Z71xGHVfDZ\r\nn0vWGo7/nO7a32qtDqZaLfWrzZ8AZ9z+UFx2sQ4glkIsFe7Iv3LylYRRgOq7\r\nyVVBk6u6dCfUiwFMpX/3AH6LvaDdzme0c8agxModYawB/M2SD5hGf+XTWrAa\r\nYu+Vo+3qyKWJLkR/UnO4XBOpDUEDcuKs0j76ZOsKavm7y2Rt5YfcT0BNVQsr\r\ncotB/qBmSPcVsoU7+lYbwGDdtGPsaGAKrx7ap7lhjoSZtUsgJNbdZd8QNFq4\r\nUD9OiXD5uTuXNoSt1Dat7zM3qUPdrYrVw/nltztw0tRw1iTPB5G4xS9M0DQw\r\nAkhnFH+NWlnWAAjb8j66aomb02aAuN3QFmI3gJuHWOdgwhGI8N0/ZqL8LpGg\r\nJ6pCXIc+GKX1XwlF494BBlfIMLvYd7fr7Eyw57WkIAngczhifDBVPUuIUfDL\r\nn/NTzdn4lPpPJwCYs8bDV+hA03BGhNvv5Jc0fNar5jDAWCecPwhPKqRYF4gz\r\nGKVUg/ZibthXIl/VUL5AsCD8DbYn2ExeNJAm8oWUZVlyV0ZFWG891RRfYDsU\r\nudKbrX7EFBgtM5bQEZb8saHq29LuwchlmfJjIGkBDI94wo416ZRgB2M1a794\r\nh2ZqJ+N+PIh2dwPxlONuRgX6WbsVdtG3dJI=\r\n=zDrt\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"testEnvironment":"node"},"types":"./index.d.ts","engines":{"node":">= 19.0.0"},"exports":{".":{"import":"./dist/koa.mjs","require":"./lib/application.js"},"./*":"./*.js","./*.js":"./*.js","./package":"./package.json","./lib/context":"./lib/context.js","./lib/request":"./lib/request.js","./lib/response":"./lib/response.js","./package.json":"./package.json","./lib/context.js":"./lib/context.js","./lib/request.js":"./lib/request.js","./lib/application":"./lib/application.js","./lib/response.js":"./lib/response.js","./lib/application.js":"./lib/application.js"},"gitHead":"7b7f95a5fe56a90dc172e30abaa21d0a7f35ec0f","scripts":{"lint":"eslint --ignore-path .gitignore .","test":"jest --forceExit","build":"gen-esm-wrapper . ./dist/koa.mjs","authors":"git log --format='%aN <%aE>' | sort -u > AUTHORS"},"_npmUser":{"name":"houd1ni","email":"brantokrule@gmail.com"},"repository":{"url":"github.com/houd1ni/koa","type":"git"},"_npmVersion":"9.5.1","description":"Koa web app framework","directories":{},"_nodeVersion":"19.2.0","dependencies":{"depd":"^2.0.0","only":"~0.0.2","vary":"^1.1.2","debug":"^4.3.4","fresh":"~0.5.2","pepka":"^1.0.0-beta.8","cookies":"~0.8.0","destroy":"^1.2.0","parseurl":"^1.3.3","statuses":"^2.0.1","delegates":"^1.0.0","encodeurl":"^1.0.2","escape-html":"^1.0.3","http-errors":"^2.0.0","koa-compose":"^4.1.0","koa-convert":"^2.0.0","media-typer":"^1.1.0","on-finished":"^2.4.1","cache-content-type":"^1.0.1","content-disposition":"~0.5.4","is-generator-function":"^1.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.4.3","eslint":"^8.34.0","supertest":"^6.3.3","gen-esm-wrapper":"^1.1.3","eslint-config-koa":"^2.0.2","eslint-plugin-node":"^11.1.0","eslint-plugin-import":"^2.27.5","eslint-plugin-promise":"^6.1.1","eslint-config-standard":"^17.0.0","eslint-plugin-standard":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/koa_2.15.6_1677375602609_0.33911604895117065","host":"s3://npm-registry-packages"}},"2.15.7":{"name":"@houd1ni/koa","version":"2.15.7","keywords":["web","app","http","application","framework","middleware","rack"],"license":"MIT","_id":"@houd1ni/koa@2.15.7","maintainers":[{"name":"houd1ni","email":"brantokrule@gmail.com"}],"dist":{"shasum":"6a68df270f2f96e1a9e567539459203a78de3848","tarball":"https://registry.npmjs.org/@houd1ni/koa/-/koa-2.15.7.tgz","fileCount":12,"integrity":"sha512-nEUW8WENZpPD9M6fVL9Puta7hRWUpwRzG4EyUEO4rAytjFCITeS3Qg8F0R/2J5r9qHXZMl+V08BBXzzfsLqpLw==","signatures":[{"sig":"MEYCIQDbgFyT1HcdpjKal+m2LalLrMXS0kVzI3pdKpRB3kaxFQIhAL1iNHMcQixxq9e2F8rBsPmHHTro0f7arp3Zv1bV2+XH","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":73224,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj+rj2ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo+tA/5AV3G9BgcQy/fcqOEPPUeL3S1oP5FfRPNpfab/eXeZsvbZHps\r\n6h1MN4k6lFUIQ+11nOWC2dyM+w/88YLk6keLNAffRydBk8CBJXGegkfgpu7t\r\nOT0X1/QJRk1k60DrEmt9OkXX9/i4yZv6qOxN/Jjq2shB9ciBNZ+B0bM7tSEQ\r\nhVFQE6vWNOABFCkuV6gZJqmyWgAJWfp/5pgQJNaON6Jfczhnt7oJZjN99yI8\r\nH8QUDkjxZRJbIQFiR8DHVVcLiH/Qbvyc4voQonsVLf7D9UZs5/n92vLgGkSd\r\nkLqU78sd6PoxiNGJGAM+9Ad0fvt95BOMroDjTKYXgNzfBFvLzzWyszcrDbl+\r\neHcpHvwB/XnBPcJkA4yzjnnO976BA4snpjyuPFMG5CPf3qw5ZpkM/eaD3IFq\r\n242EQ4NIpbeqJi+6bZZd0qF8RIlxqrRM9fKR/tP3ofDiqRYjj5p4qdFuCRnH\r\nGdf9tTG5T6x3FqZgS2CKoGbUloxI4ppmYS4S2kDIl6ohFW/RAobxDzCF/zwV\r\n1GHUeA/a6RswKeWwEifEU+NcnH6DdslQscN0v53ix59Vgh4URjorlurQ1Y6R\r\n7adDISVXFR2abrLqpCsRsoU9z2h8NnfIAr++p/PnkeIDGB49bqjcxDSZptZF\r\n8yah9FtxrIXZ89CdBHQrG/QQKZELRxAi3nc=\r\n=Tpyi\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"testEnvironment":"node"},"types":"./index.d.ts","engines":{"node":">= 19.0.0"},"exports":{".":{"import":"./dist/koa.mjs","require":"./lib/application.js"},"./*":"./*.js","./*.js":"./*.js","./package":"./package.json","./lib/context":"./lib/context.js","./lib/request":"./lib/request.js","./lib/response":"./lib/response.js","./package.json":"./package.json","./lib/context.js":"./lib/context.js","./lib/request.js":"./lib/request.js","./lib/application":"./lib/application.js","./lib/response.js":"./lib/response.js","./lib/application.js":"./lib/application.js"},"gitHead":"8845a8047a25fa2aacdaaf384c5263cd3e2adc1d","scripts":{"lint":"eslint --ignore-path .gitignore .","test":"jest --forceExit","build":"gen-esm-wrapper . ./dist/koa.mjs","authors":"git log --format='%aN <%aE>' | sort -u > AUTHORS"},"_npmUser":{"name":"houd1ni","email":"brantokrule@gmail.com"},"repository":{"url":"github.com/houd1ni/koa","type":"git"},"_npmVersion":"9.5.1","description":"Koa web app framework","directories":{},"_nodeVersion":"19.2.0","dependencies":{"depd":"^2.0.0","only":"~0.0.2","vary":"^1.1.2","debug":"^4.3.4","fresh":"~0.5.2","pepka":"^1.0.0-beta.8","cookies":"~0.8.0","destroy":"^1.2.0","parseurl":"^1.3.3","statuses":"^2.0.1","delegates":"^1.0.0","encodeurl":"^1.0.2","escape-html":"^1.0.3","http-errors":"^2.0.0","koa-compose":"^4.1.0","koa-convert":"^2.0.0","media-typer":"^1.1.0","on-finished":"^2.4.1","cache-content-type":"^1.0.1","content-disposition":"~0.5.4","is-generator-function":"^1.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.4.3","eslint":"^8.34.0","supertest":"^6.3.3","gen-esm-wrapper":"^1.1.3","eslint-config-koa":"^2.0.2","eslint-plugin-node":"^11.1.0","eslint-plugin-import":"^2.27.5","eslint-plugin-promise":"^6.1.1","eslint-config-standard":"^17.0.0","eslint-plugin-standard":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/koa_2.15.7_1677375734629_0.37852775614870815","host":"s3://npm-registry-packages"}},"2.15.8":{"name":"@houd1ni/koa","version":"2.15.8","keywords":["web","app","http","application","framework","middleware","rack"],"license":"MIT","_id":"@houd1ni/koa@2.15.8","maintainers":[{"name":"houd1ni","email":"brantokrule@gmail.com"}],"dist":{"shasum":"c30b15a9766bcb4f7f7f0c7c9da58211fe1ed888","tarball":"https://registry.npmjs.org/@houd1ni/koa/-/koa-2.15.8.tgz","fileCount":12,"integrity":"sha512-dbYiS6qGWsZCpfH9J+WB7xo3V4UOgs9pvaaiR1GLj1I3F7Pu7/qDZDzJdgdEIWksouNhbi/bTN6mF34Eo3wI2Q==","signatures":[{"sig":"MEQCIF6KsQxzJACWGDwwO2HhzV6hB4/+LGbMyVk2raT6ujF4AiA6i+s00aL05oEw0RdkoJLTCpaJ9/JtgKh+nfPdKmuUcw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":73125,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj+rmvACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpatQ/9ElTxPAvkvlOCQEIO5aAvOPlRAW0D4OBpwu56b/Y3V84pSTem\r\n8JkirSfiq90TAD+eJ6mYcgA8hNuGv7DSAhmaZvsaq8nTtkAtDj5cy1NEpI9F\r\nIojCvnKBc44Tl78SbQPRG6/G+o+/TV9Lu+3GTIQNXNLjy1XGQouiJEVjG4eJ\r\nzdw7EdHbQIBFXcfLrkQQTo6XdyQmskG0vUeXpTuBJRoDIo23oy5ZRcWkr+VR\r\nk6szxL6TYneXXRXQUP+mUUrf1Xa/SvpyQxZOk0m2bnG2y4jIYq2Mq9tXZMrY\r\nUZmC+rz0YI/U/CdtWgX+m9BxtjXdeXUtk3XcOasxZZuXtl1mnjjPX0rTcDhw\r\nDsOpOQM4ZEiNh9nKj2eabh6XUwNEEaIAThdu+oIBbP3CjilRFTrioCUZWlWa\r\nmSK3fAmmC1vARqbeDbA/TL4MD1NxqdupV4HAwYNJ3SZ3qE5yBc9DDb9UtE0p\r\n0JhLZlSIUkO317tCqvYBieUde3rok7DqXRxfKHjo1zkq/pZrZHTPq60To7ip\r\nDZ20frfWClZNcHCmGO1MlVNgIILpBbwJAvN+72TwxtvwGd2nXV8OFQot9g7F\r\nCa5iWNGWYbK9XkX28Mwhg0jA6EgYa2Yup6eLjIA+qfPbm96/jaSWnoODU0sy\r\nNS+t4DLuoPHe6aUmYYoT8ykzTx/fcUbA/hI=\r\n=fVcu\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"testEnvironment":"node"},"types":"./index.d.ts","engines":{"node":">= 19.0.0"},"exports":{".":{"import":"./dist/koa.mjs","require":"./lib/application.js"},"./*":"./*.js","./*.js":"./*.js","./package":"./package.json","./lib/context":"./lib/context.js","./lib/request":"./lib/request.js","./lib/response":"./lib/response.js","./package.json":"./package.json","./lib/context.js":"./lib/context.js","./lib/request.js":"./lib/request.js","./lib/application":"./lib/application.js","./lib/response.js":"./lib/response.js","./lib/application.js":"./lib/application.js"},"gitHead":"d5d686574175fa098a0540e5ff84173d48ddd450","scripts":{"lint":"eslint --ignore-path .gitignore .","test":"jest --forceExit","build":"gen-esm-wrapper . ./dist/koa.mjs","authors":"git log --format='%aN <%aE>' | sort -u > AUTHORS"},"_npmUser":{"name":"houd1ni","email":"brantokrule@gmail.com"},"repository":{"url":"github.com/houd1ni/koa","type":"git"},"_npmVersion":"9.5.1","description":"Koa web app framework","directories":{},"_nodeVersion":"19.2.0","dependencies":{"depd":"^2.0.0","only":"~0.0.2","vary":"^1.1.2","debug":"^4.3.4","fresh":"~0.5.2","pepka":"^1.0.0-beta.8","cookies":"~0.8.0","destroy":"^1.2.0","parseurl":"^1.3.3","statuses":"^2.0.1","delegates":"^1.0.0","encodeurl":"^1.0.2","escape-html":"^1.0.3","http-errors":"^2.0.0","koa-compose":"^4.1.0","koa-convert":"^2.0.0","media-typer":"^1.1.0","on-finished":"^2.4.1","cache-content-type":"^1.0.1","content-disposition":"~0.5.4","is-generator-function":"^1.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.4.3","eslint":"^8.34.0","supertest":"^6.3.3","gen-esm-wrapper":"^1.1.3","eslint-config-koa":"^2.0.2","eslint-plugin-node":"^11.1.0","eslint-plugin-import":"^2.27.5","eslint-plugin-promise":"^6.1.1","eslint-config-standard":"^17.0.0","eslint-plugin-standard":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/koa_2.15.8_1677375919112_0.7504517638957462","host":"s3://npm-registry-packages"}},"2.15.9":{"name":"@houd1ni/koa","version":"2.15.9","keywords":["web","app","http","application","framework","middleware","rack"],"license":"MIT","_id":"@houd1ni/koa@2.15.9","maintainers":[{"name":"houd1ni","email":"brantokrule@gmail.com"}],"dist":{"shasum":"10a5196c30bd15110c83ea6fbf48d263e89789fc","tarball":"https://registry.npmjs.org/@houd1ni/koa/-/koa-2.15.9.tgz","fileCount":12,"integrity":"sha512-1yt5Tg4B3CWtvWmanqJSxkFuoQZqotMWibJtyWpfDrKcIQpL/a2CyHf7dyFxhZtThIO42t9n6HjSlzFuLfWtAg==","signatures":[{"sig":"MEYCIQD1Y/L5JUJe4b7KgRRzLV7ZPGAQ7XSFLA1FUxvvod2OMQIhAKbSFx4VX8ZX4PvScdg1lztfDCTKVOGsYgzyCMpX7WYG","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":73028,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj+rxtACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo1PBAAmSb71iMA7oK9j/ByzsG1CZp6Je05E9jolcFqlYWQexewtEEu\r\n83SeBtAkvOZmgZke/87bvMPX+XQqpPnfFUBR8UMogWC+hMhYzzYGMV8P6lee\r\narY1PRIj7y3J8zob1zOlTkeVHe6M0bKghfEiunU+XMfuSEzAkQGaevXQtrpc\r\nwTcCYIasC7RB8U28S2o+klvxX3OGN2ZK7wOjV+e0bvqq685zVAXWjS+puVMc\r\nzjuOYQ4ciTGMUn5ZL0/ohNj+CDMQm6w5Pxur1Qsj3Cgcz1Zn4lgmPEB87PLv\r\nmgdYllWWqdOXBMyn3JJH2JWvl/F+HPxY2YnxfM+3dsuyAwLPMypkRYRwZzSQ\r\nSOFu2pUG+KSmMYFJmmjMgeDp9yqmNPoUuFuaBuUMnAmjujyd2fLig0IWPViH\r\nEgshTrPd+SFfaCFe5YiG7qT2gn5KywG0h+XBMuR7CPf0XRmBmeedxUTE2/l8\r\nTwZPCnDrPqXV4jbDryF1UrAg4W+m/F+vkrotqJPOvhnk8KY/d/OSoFgJsqk3\r\n2cP5XI21rocU0LgWID9MQmhWJlB5Nosv/wDKTIET5C1QzQxhNCiT0jBFlo+Z\r\nVoJgHPNdfHu+FfOLUx+y6js+BFj6YjoZNQMUPxW1DVuQ8bTrTqv/Tpvr4LnB\r\nb6r53hgqzkcEK1pevU2HBffCDHt7vhgEKYo=\r\n=T5VR\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"testEnvironment":"node"},"types":"./index.d.ts","engines":{"node":">= 19.0.0"},"exports":{".":{"import":"./dist/koa.mjs","require":"./lib/application.js"},"./*":"./*.js","./*.js":"./*.js","./package":"./package.json","./lib/context":"./lib/context.js","./lib/request":"./lib/request.js","./lib/response":"./lib/response.js","./package.json":"./package.json","./lib/context.js":"./lib/context.js","./lib/request.js":"./lib/request.js","./lib/application":"./lib/application.js","./lib/response.js":"./lib/response.js","./lib/application.js":"./lib/application.js"},"gitHead":"23e2a298facb113fdd3f60f9b9cbe021b4d0a578","scripts":{"lint":"eslint --ignore-path .gitignore .","test":"jest --forceExit","build":"gen-esm-wrapper . ./dist/koa.mjs","authors":"git log --format='%aN <%aE>' | sort -u > AUTHORS"},"_npmUser":{"name":"houd1ni","email":"brantokrule@gmail.com"},"repository":{"url":"github.com/houd1ni/koa","type":"git"},"_npmVersion":"9.5.1","description":"Koa web app framework","directories":{},"_nodeVersion":"19.2.0","dependencies":{"depd":"^2.0.0","only":"~0.0.2","vary":"^1.1.2","debug":"^4.3.4","fresh":"~0.5.2","pepka":"^1.0.0-beta.8","cookies":"~0.8.0","destroy":"^1.2.0","parseurl":"^1.3.3","statuses":"^2.0.1","delegates":"^1.0.0","encodeurl":"^1.0.2","escape-html":"^1.0.3","http-errors":"^2.0.0","koa-compose":"^4.1.0","koa-convert":"^2.0.0","media-typer":"^1.1.0","on-finished":"^2.4.1","cache-content-type":"^1.0.1","content-disposition":"~0.5.4","is-generator-function":"^1.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.4.3","eslint":"^8.34.0","supertest":"^6.3.3","gen-esm-wrapper":"^1.1.3","eslint-config-koa":"^2.0.2","eslint-plugin-node":"^11.1.0","eslint-plugin-import":"^2.27.5","eslint-plugin-promise":"^6.1.1","eslint-config-standard":"^17.0.0","eslint-plugin-standard":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/koa_2.15.9_1677376621344_0.7800086372898056","host":"s3://npm-registry-packages"}},"2.15.10":{"name":"@houd1ni/koa","version":"2.15.10","keywords":["web","app","http","application","framework","middleware","rack"],"license":"MIT","_id":"@houd1ni/koa@2.15.10","maintainers":[{"name":"houd1ni","email":"brantokrule@gmail.com"}],"dist":{"shasum":"02152b47ae5291c9560ac34ed5fb59998fc51db9","tarball":"https://registry.npmjs.org/@houd1ni/koa/-/koa-2.15.10.tgz","fileCount":12,"integrity":"sha512-MSRVWPwuRIBcRSkoCDWkJfIrwqjeQqVvb8Zfpez8UJAqSDrUNmIaCSD1nhdMrYtCwTZ7pMZIa3JoMhutk3yGfQ==","signatures":[{"sig":"MEYCIQChAzATkdis8T4iMlSaPDWWHON9WW3+CiaIVU7aTPlvwQIhAKn7KOXuvMBKON1nIljh9aogVSTUMIA3VJfTbs8lt1di","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":73229,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj/GBuACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoVfw//aaAYgOnDBm2Wy/ABIOM6XDier3c3xqKfn8jMh2cbKvwiDe9u\r\njlXWT+oBmxdNeu2p/7WJim1HZURscZACFrcKOk+qRFo58GB2j+lo+w8CCnI3\r\n715gManJC6M+gCaiA7aXGFWTit85TTFOaayphngbemZdloZMkHTnXA8fuDWL\r\nNQjGz6FpUVpgNG9yCBRupjpT4SRgU9//fmfRQFYpcFw94SwEawiXYp6rD2zd\r\nT0lq7pJkaeUuY+JcEj5S5KHKWSlDh+hyrbMbDUyxELYRjelTwyJuylCUOO9h\r\nwD133gLdVXFwNsze6Lfvrw6yi4GbuUex8EilczBbS8R+CVeT1/2EB904ZLJj\r\nJeWzvi84s5WKbR9PRMkefQF5q8XMo56GvAxorGyfXahMEvvjxRehLZbDNokr\r\nRJrFamLjA8Y/SbhEdmhxFIH0Oh2qFaIxK+vVu+IFSsKgGvKSVBaTz3tnduzm\r\nrUK5K3FOUY2Bgq6umVVTO/AmpN16AiTX6G8+0ysd7vDz9R9IJ/DTNeLjh2HL\r\nlf5WlAdQIBvgzEUfhm9nlGkJ3cNJZUa0JK4NUPEHENWi4jhbdtM1l/LBAEEm\r\nRkP759pc9k1MSCqTzJ9tIdG25AiYzpRyua4CZj6IGBsIvV8PzFDO82bmICIN\r\ngw63dA7tFYIQ011nDvyV8aQ+2k4V9OlXW+0=\r\n=Vh9E\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"testEnvironment":"node"},"types":"./index.d.ts","engines":{"node":">= 19.0.0"},"exports":{".":{"import":"./dist/koa.mjs","require":"./lib/application.js"},"./*":"./*.js","./*.js":"./*.js","./package":"./package.json","./lib/context":"./lib/context.js","./lib/request":"./lib/request.js","./lib/response":"./lib/response.js","./package.json":"./package.json","./lib/context.js":"./lib/context.js","./lib/request.js":"./lib/request.js","./lib/application":"./lib/application.js","./lib/response.js":"./lib/response.js","./lib/application.js":"./lib/application.js"},"gitHead":"aafedc266cfdad4497ea72b5f2763c7d8339f750","scripts":{"lint":"eslint --ignore-path .gitignore .","test":"jest --forceExit","build":"gen-esm-wrapper . ./dist/koa.mjs","authors":"git log --format='%aN <%aE>' | sort -u > AUTHORS"},"_npmUser":{"name":"houd1ni","email":"brantokrule@gmail.com"},"repository":{"url":"github.com/houd1ni/koa","type":"git"},"_npmVersion":"9.5.1","description":"Koa web app framework","directories":{},"_nodeVersion":"19.2.0","dependencies":{"depd":"^2.0.0","only":"~0.0.2","vary":"^1.1.2","debug":"^4.3.4","fresh":"~0.5.2","pepka":"^1.0.0-beta.8","cookies":"~0.8.0","destroy":"^1.2.0","parseurl":"^1.3.3","statuses":"^2.0.1","delegates":"^1.0.0","encodeurl":"^1.0.2","escape-html":"^1.0.3","http-errors":"^2.0.0","koa-compose":"^4.1.0","koa-convert":"^2.0.0","media-typer":"^1.1.0","on-finished":"^2.4.1","cache-content-type":"^1.0.1","content-disposition":"~0.5.4","is-generator-function":"^1.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.4.3","eslint":"^8.34.0","supertest":"^6.3.3","gen-esm-wrapper":"^1.1.3","eslint-config-koa":"^2.0.2","eslint-plugin-node":"^11.1.0","eslint-plugin-import":"^2.27.5","eslint-plugin-promise":"^6.1.1","eslint-config-standard":"^17.0.0","eslint-plugin-standard":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/koa_2.15.10_1677484142458_0.2916814098571274","host":"s3://npm-registry-packages"}},"2.15.11":{"name":"@houd1ni/koa","version":"2.15.11","keywords":["web","app","http","application","framework","middleware","rack"],"license":"MIT","_id":"@houd1ni/koa@2.15.11","maintainers":[{"name":"houd1ni","email":"brantokrule@gmail.com"}],"dist":{"shasum":"d00e66cc38996cbdadcd269c9d63e1630fc06fe7","tarball":"https://registry.npmjs.org/@houd1ni/koa/-/koa-2.15.11.tgz","fileCount":12,"integrity":"sha512-moFF6qX2o8Lk6OXSzn4xzRpuPbOTM6vx9I5SzslJ7e+ZGzt/u+n/uonBIb6CuN7ySlRgxjvA6xiOxf/5tyZQ/A==","signatures":[{"sig":"MEUCIQDZMUynMwtFoeCsl1d0o9qk46Gpv4v1dHi1011MX8SlIgIgGKP2DRxG65nsRjqTKT5n7wxiLXMAGj2uiKW9kW20v9Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":73231,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj/GJrACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqu+w/+Jgt4kumlYvJpviewOhQSBW5IJ6sCrSamnJ+VFWOJIPpQ22Ap\r\nEeZqG36gwHcRjEMOdGV6/GD38bTmwbr3tgVRR6H62p8d980/ZNXX9eO2vz7V\r\nNmxEiXPaOCCfOvBYAiC6BD/xWZUAB6oGtTP21RyC++A1ObWbCI9in4NOdoHg\r\n1U+0hKXwhpUDcp4IwyMyUAG9pd6ZkP9xFUkKd6hsaLoBybhejymbZnynZJ2j\r\n9V9g3O8iMc0Ta9gD0yiMjTOBQp9+HoZPxtHJPW2qMu0Pxm1Aai9BG5hfB+sY\r\nXCabVhiYvnZeO/C43f0toxuEJRZ0NEkQfG3bVdrVK2JSkW256ArL2CRemmDw\r\npBMJ5wNVd/m/Wrf45VIpHa+KriBpFT/DAlsGcqN6K2WUGNfGeF7jgTd9nRIX\r\nTdf5syWEghJqhXl5DLR8YIvVtkUcZXsM2g/gJOPDtnsd8g5XbmYxYj8RWmr9\r\nPP1zz3H7TwX9yPWSoykwyhwcwZdpxb0xtLTs372Bva76IwQgL/4v5ffJmS6C\r\nmVEpG8NPdpbqQhH3YbkX6lzqETJ86lAubAPis+uCFV8sazbbt2TV49xOLtyS\r\ntrnYpqpI4uKlEADv4lUD3m0SSFS3pXS8uQxDucJa+tiq571BbTHI89Pq2ETL\r\nWLScdIrMTYRg8YHEWbojXvM0ZivezteHmk4=\r\n=seFD\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"testEnvironment":"node"},"types":"./index.d.ts","engines":{"node":">= 19.0.0"},"exports":{".":{"import":"./dist/koa.mjs","require":"./lib/application.js"},"./*":"./*.js","./*.js":"./*.js","./package":"./package.json","./lib/context":"./lib/context.js","./lib/request":"./lib/request.js","./lib/response":"./lib/response.js","./package.json":"./package.json","./lib/context.js":"./lib/context.js","./lib/request.js":"./lib/request.js","./lib/application":"./lib/application.js","./lib/response.js":"./lib/response.js","./lib/application.js":"./lib/application.js"},"gitHead":"5ff620eb5ba6228e52bcdd3bcc0b340b50ffc1ef","scripts":{"lint":"eslint --ignore-path .gitignore .","test":"jest --forceExit","build":"gen-esm-wrapper . ./dist/koa.mjs","authors":"git log --format='%aN <%aE>' | sort -u > AUTHORS"},"_npmUser":{"name":"houd1ni","email":"brantokrule@gmail.com"},"repository":{"url":"github.com/houd1ni/koa","type":"git"},"_npmVersion":"9.5.1","description":"Koa web app framework","directories":{},"_nodeVersion":"19.2.0","dependencies":{"depd":"^2.0.0","only":"~0.0.2","vary":"^1.1.2","debug":"^4.3.4","fresh":"~0.5.2","pepka":"^1.0.0-beta.8","cookies":"~0.8.0","destroy":"^1.2.0","parseurl":"^1.3.3","statuses":"^2.0.1","delegates":"^1.0.0","encodeurl":"^1.0.2","escape-html":"^1.0.3","http-errors":"^2.0.0","koa-compose":"^4.1.0","koa-convert":"^2.0.0","media-typer":"^1.1.0","on-finished":"^2.4.1","cache-content-type":"^1.0.1","content-disposition":"~0.5.4","is-generator-function":"^1.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.4.3","eslint":"^8.34.0","supertest":"^6.3.3","gen-esm-wrapper":"^1.1.3","eslint-config-koa":"^2.0.2","eslint-plugin-node":"^11.1.0","eslint-plugin-import":"^2.27.5","eslint-plugin-promise":"^6.1.1","eslint-config-standard":"^17.0.0","eslint-plugin-standard":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/koa_2.15.11_1677484651733_0.13296722149072937","host":"s3://npm-registry-packages"}},"2.15.12":{"name":"@houd1ni/koa","version":"2.15.12","keywords":["web","app","http","application","framework","middleware","rack"],"license":"MIT","_id":"@houd1ni/koa@2.15.12","maintainers":[{"name":"houd1ni","email":"brantokrule@gmail.com"}],"dist":{"shasum":"70bca3397402120f6f9f5fd86cf68d86cf836944","tarball":"https://registry.npmjs.org/@houd1ni/koa/-/koa-2.15.12.tgz","fileCount":12,"integrity":"sha512-InSS4fDRFCAp3aA5z0ieF+8VNpIHOqqSwxqPHub2epy+hZ93ldIXWCZtRCm4A2qT6QU8dKwVmdFbGbmL/ylMPA==","signatures":[{"sig":"MEYCIQCs/wP+Gvq+9W1rnuczzqHTEhO740j0A7JvZLvrdzryNAIhAMI6NXdjEA4GzRdG4+byylOCsdqOzMDp+Hq8KndmoBUc","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":73513,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkGsj9ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqI3A/7BcFWzLlRObd4tzZwdbVqSGp2e5oOZNv4mIzxd42ZhrPLfnTi\r\n4PuhSlZlBa6VcqEVyrL6u/x8ZBAahQCPnG9aKleeJ0zm+GUbopcgfkzbrDDn\r\nunJiEPA6YFPhN0S7rahoZS3heGRF7GxnOIT72Ax5ZvxTviYdss+tERJiafdf\r\n3GH+13BfZvOmkmXoJ/kwqwfQXCwHd3zS/4pfTIE9oSfuqUBZ+llBixlauRMs\r\nSvKNly4cGt4G5NvyZJVC3a/6W5TPuTTts2RwoZxxEO/S7Sk6PReuZSzB1Lef\r\n07/aety3UJ4Dd2GkVsr7vP4YMNekfobLbfeiByR7S1uTVMMkjkj9TWZX3juN\r\nwXmsOfEhSHvlzLfhxcTQo4pQG3t9uJfHF/nN1KuOVbKvdQPEdaYppeYIHBIZ\r\nWRUY1d5lCxaeDJ4OZavJQ36ZwYgvp6ePS6Q3Ji7I/1V3br/hY2QvAxfi5dtK\r\nD4SeB7XqYHszq6AuD6MB/wqhyfOzynzJCsXcdt3eclU2Mn4gKHTbIfnp92PZ\r\npAIOpNC9T2ULiLYkjLNkbKcv/kIM3bgb2au3Kc0X9kVimU5Dack00gWa7xyM\r\nvG9lmTnJgqyIz5lVhKs58kl3Hm/fBfDuujT3iwySnzo07eEeNrxyaspRL30N\r\nh6E3UX3DxMgfej2fMUkuGLuOqBoNlB3IcR4=\r\n=pyrz\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"testEnvironment":"node"},"type":"module","types":"./index.d.ts","engines":{"node":">= 18.0.0"},"exports":{".":{"import":"./dist/koa.mjs","require":"./lib/application.js"},"./*":"./*.js","./*.js":"./*.js","./package":"./package.json","./lib/context":"./lib/context.js","./lib/request":"./lib/request.js","./lib/response":"./lib/response.js","./package.json":"./package.json","./lib/context.js":"./lib/context.js","./lib/request.js":"./lib/request.js","./lib/application":"./lib/application.js","./lib/response.js":"./lib/response.js","./lib/application.js":"./lib/application.js"},"gitHead":"4510b77b2f655e736a4b4a4c714dd0572ff138aa","scripts":{"lint":"eslint --ignore-path .gitignore .","test":"jest --forceExit","build":"gen-esm-wrapper . ./dist/koa.mjs","authors":"git log --format='%aN <%aE>' | sort -u > AUTHORS"},"_npmUser":{"name":"houd1ni","email":"brantokrule@gmail.com"},"repository":{"url":"github.com/houd1ni/koa","type":"git"},"_npmVersion":"9.5.1","description":"Koa web app framework","directories":{},"_nodeVersion":"18.15.0","dependencies":{"depd":"^2.0.0","only":"~0.0.2","vary":"^1.1.2","debug":"^4.3.4","fresh":"~0.5.2","pepka":"^1.0.0-beta.8","cookies":"~0.8.0","destroy":"^1.2.0","parseurl":"^1.3.3","statuses":"^2.0.1","delegates":"^1.0.0","encodeurl":"^1.0.2","escape-html":"^1.0.3","http-errors":"^2.0.0","koa-compose":"^4.1.0","koa-convert":"^2.0.0","media-typer":"^1.1.0","on-finished":"^2.4.1","cache-content-type":"^1.0.1","content-disposition":"~0.5.4","is-generator-function":"^1.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.4.3","eslint":"^8.34.0","supertest":"^6.3.3","gen-esm-wrapper":"^1.1.3","eslint-config-koa":"^2.0.2","eslint-plugin-node":"^11.1.0","eslint-plugin-import":"^2.27.5","eslint-plugin-promise":"^6.1.1","eslint-config-standard":"^17.0.0","eslint-plugin-standard":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/koa_2.15.12_1679476989162_0.12826740633359712","host":"s3://npm-registry-packages"}},"2.15.13":{"name":"@houd1ni/koa","version":"2.15.13","keywords":["web","app","http","application","framework","middleware","rack"],"license":"MIT","_id":"@houd1ni/koa@2.15.13","maintainers":[{"name":"houd1ni","email":"brantokrule@gmail.com"}],"dist":{"shasum":"78f4a15c79a38075fd341243586671016efe7b66","tarball":"https://registry.npmjs.org/@houd1ni/koa/-/koa-2.15.13.tgz","fileCount":12,"integrity":"sha512-sr5Gy++YSd5rYF2xI1W/F3EQX4XdaB6Cd+t8HsTRQKZrnbaYhZihF5BBSOCgXH8stoEqpqv5f0Cmd64UuzPT/Q==","signatures":[{"sig":"MEYCIQCiWrx6VsHOmG/vuaQqiB6Csy9efcNAvAXjNdPCh4Z8EAIhAMUNKTSy0wCQE8WJWOd27LkDMU0ZooFK16m2JWHLw1mg","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":73542},"jest":{"testEnvironment":"node"},"type":"module","types":"./index.d.ts","engines":{"node":">= 18.0.0"},"exports":{".":{"import":"./dist/koa.mjs","require":"./lib/application.js"},"./*":"./*.js","./*.js":"./*.js","./package":"./package.json","./lib/context":"./lib/context.js","./lib/request":"./lib/request.js","./lib/response":"./lib/response.js","./package.json":"./package.json","./lib/context.js":"./lib/context.js","./lib/request.js":"./lib/request.js","./lib/application":"./lib/application.js","./lib/response.js":"./lib/response.js","./lib/application.js":"./lib/application.js"},"gitHead":"0fa66260b3f8605a0620023de9cdc64e50d8cfe7","scripts":{"lint":"eslint --ignore-path .gitignore .","test":"jest --forceExit","build":"gen-esm-wrapper . ./dist/koa.mjs","authors":"git log --format='%aN <%aE>' | sort -u > AUTHORS"},"_npmUser":{"name":"houd1ni","email":"brantokrule@gmail.com"},"repository":{"url":"github.com/houd1ni/koa","type":"git"},"_npmVersion":"9.5.1","description":"Koa web app framework","directories":{},"_nodeVersion":"18.15.0","dependencies":{"depd":"^2.0.0","only":"~0.0.2","vary":"^1.1.2","debug":"^4.3.4","fresh":"~0.5.2","pepka":"^1.0.0-beta.10","cookies":"~0.8.0","destroy":"^1.2.0","parseurl":"^1.3.3","statuses":"^2.0.1","delegates":"^1.0.0","encodeurl":"^1.0.2","negotiator":"^0.6.3","escape-html":"^1.0.3","http-errors":"^2.0.0","koa-compose":"^4.1.0","koa-convert":"^2.0.0","media-typer":"^1.1.0","on-finished":"^2.4.1","cache-content-type":"^1.0.1","content-disposition":"~0.5.4","is-generator-function":"^1.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.40.0","supertest":"^6.3.3","gen-esm-wrapper":"^1.1.3","eslint-config-koa":"^2.0.2","eslint-plugin-node":"^11.1.0","eslint-plugin-import":"^2.27.5","eslint-plugin-promise":"^6.1.1","eslint-config-standard":"^17.0.0","eslint-plugin-standard":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/koa_2.15.13_1683992874375_0.48949145381965864","host":"s3://npm-registry-packages"}},"2.15.14":{"name":"@houd1ni/koa","version":"2.15.14","keywords":["web","app","http","application","framework","middleware","rack"],"license":"MIT","_id":"@houd1ni/koa@2.15.14","maintainers":[{"name":"houd1ni","email":"brantokrule@gmail.com"}],"dist":{"shasum":"d5a3cac0e7a087d067fe01f934b3e95fa536d775","tarball":"https://registry.npmjs.org/@houd1ni/koa/-/koa-2.15.14.tgz","fileCount":12,"integrity":"sha512-VjBxWllRVMv/UVgkfMwXf3py0yizTfNDL4M2ybyMwh5o94f69NGCc5VUsVVqTL5vSA09kOu3451uVSOBqal56w==","signatures":[{"sig":"MEYCIQD+kbkP9YcJShzDnuzv2PkgS+syPD2lZ/a1AOJnXAu+/gIhALlV1jH6EI/lNPMyQ+Q6F+wcGcvD47b1VkZZhFH641qT","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":73595},"jest":{"testEnvironment":"node"},"type":"module","types":"./index.d.ts","engines":{"node":">= 18.0.0"},"exports":{".":{"import":"./dist/koa.mjs","require":"./lib/application.js"},"./*":"./*.js","./*.js":"./*.js","./package":"./package.json","./lib/context":"./lib/context.js","./lib/request":"./lib/request.js","./lib/response":"./lib/response.js","./package.json":"./package.json","./lib/context.js":"./lib/context.js","./lib/request.js":"./lib/request.js","./lib/application":"./lib/application.js","./lib/response.js":"./lib/response.js","./lib/application.js":"./lib/application.js"},"gitHead":"0090c7e05bae397bf81eb526e3a3a8ecf16702af","scripts":{"lint":"eslint --ignore-path .gitignore .","test":"jest --forceExit","build":"gen-esm-wrapper . ./dist/koa.mjs","authors":"git log --format='%aN <%aE>' | sort -u > AUTHORS"},"_npmUser":{"name":"houd1ni","email":"brantokrule@gmail.com"},"repository":{"url":"github.com/houd1ni/koa","type":"git"},"_npmVersion":"9.5.1","description":"Koa web app framework","directories":{},"_nodeVersion":"18.15.0","dependencies":{"depd":"^2.0.0","only":"~0.0.2","vary":"^1.1.2","debug":"^4.3.4","fresh":"~0.5.2","pepka":"^1.0.0-beta.10","cookies":"~0.8.0","destroy":"^1.2.0","parseurl":"^1.3.3","statuses":"^2.0.1","delegates":"^1.0.0","encodeurl":"^1.0.2","negotiator":"^0.6.3","escape-html":"^1.0.3","http-errors":"^2.0.0","koa-compose":"^4.1.0","koa-convert":"^2.0.0","media-typer":"^1.1.0","on-finished":"^2.4.1","cache-content-type":"^1.0.1","content-disposition":"~0.5.4","is-generator-function":"^1.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.40.0","supertest":"^6.3.3","gen-esm-wrapper":"^1.1.3","eslint-config-koa":"^2.0.2","eslint-plugin-node":"^11.1.0","eslint-plugin-import":"^2.27.5","eslint-plugin-promise":"^6.1.1","eslint-config-standard":"^17.0.0","eslint-plugin-standard":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/koa_2.15.14_1684019189906_0.6940851918133719","host":"s3://npm-registry-packages"}},"2.15.15":{"name":"@houd1ni/koa","version":"2.15.15","keywords":["web","app","http","application","framework","middleware","rack"],"license":"MIT","_id":"@houd1ni/koa@2.15.15","maintainers":[{"name":"houd1ni","email":"brantokrule@gmail.com"}],"dist":{"shasum":"24cb1b4e9cfababcdcf5bc530ecd7e7afaf4d2a3","tarball":"https://registry.npmjs.org/@houd1ni/koa/-/koa-2.15.15.tgz","fileCount":12,"integrity":"sha512-i9qHlLPPuoI2r9wYIEOYlEmEA2mNaY5cEZbNN0Y+WRfWFiintnGq+M1hGuynP3rKBJ7h1yEoMSH/2rSY86+IFQ==","signatures":[{"sig":"MEUCIQCUl8R/vgqhI+SItRLzjgDzzqcqx5NW2Mf27aFtNp60lQIgAdJFwA+gYpHLhHvgwTOKH92a8dWlxeStOd+MAOVd+ng=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":73614},"jest":{"testEnvironment":"node"},"type":"module","types":"./index.d.ts","engines":{"node":">= 18.0.0"},"exports":{".":{"import":"./dist/koa.mjs","require":"./lib/application.js"},"./*":"./*.js","./*.js":"./*.js","./package":"./package.json","./lib/context":"./lib/context.js","./lib/request":"./lib/request.js","./lib/response":"./lib/response.js","./package.json":"./package.json","./lib/context.js":"./lib/context.js","./lib/request.js":"./lib/request.js","./lib/application":"./lib/application.js","./lib/response.js":"./lib/response.js","./lib/application.js":"./lib/application.js"},"gitHead":"c4c55f9235d16e14e3d784211b7b803630e1fb6c","scripts":{"lint":"eslint --ignore-path .gitignore .","test":"jest --forceExit","build":"gen-esm-wrapper . ./dist/koa.mjs","authors":"git log --format='%aN <%aE>' | sort -u > AUTHORS"},"_npmUser":{"name":"houd1ni","email":"brantokrule@gmail.com"},"repository":{"url":"github.com/houd1ni/koa","type":"git"},"_npmVersion":"10.5.0","description":"Koa web app framework","directories":{},"_nodeVersion":"21.6.2","dependencies":{"depd":"^2.0.0","mime":"^4.0.1","only":"~0.0.2","vary":"^1.1.2","debug":"^4.3.4","fresh":"~0.5.2","pepka":"^1.0.0-beta.10","cookies":"~0.9.1","destroy":"^1.2.0","parseurl":"^1.3.3","statuses":"^2.0.1","delegates":"^1.0.0","encodeurl":"^1.0.2","negotiator":"^0.6.3","escape-html":"^1.0.3","http-errors":"^2.0.0","koa-compose":"^4.1.0","koa-convert":"^2.0.0","media-typer":"^1.1.0","on-finished":"^2.4.1","cache-content-type":"^1.0.1","content-disposition":"~0.5.4","is-generator-function":"^1.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.57.0","supertest":"^6.3.4","gen-esm-wrapper":"^1.1.3","eslint-config-koa":"^2.0.2","eslint-plugin-node":"^11.1.0","eslint-plugin-import":"^2.29.1","eslint-plugin-promise":"^6.1.1","eslint-config-standard":"^17.1.0","eslint-plugin-standard":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/koa_2.15.15_1709988215347_0.6340393295694045","host":"s3://npm-registry-packages"}},"2.15.16":{"name":"@houd1ni/koa","version":"2.15.16","keywords":["web","app","http","application","framework","middleware","rack"],"license":"MIT","_id":"@houd1ni/koa@2.15.16","maintainers":[{"name":"houd1ni","email":"brantokrule@gmail.com"}],"dist":{"shasum":"c98aa3a906af95679a40a8db7c73f7ce231a317c","tarball":"https://registry.npmjs.org/@houd1ni/koa/-/koa-2.15.16.tgz","fileCount":12,"integrity":"sha512-9SC+mgkXSDbBDxOUsab+yVuT0ZtVyxHk/dyd5VZon3Z15uKO2WYN0ezA/2sBRXFAhf2XeUi8VIckxOYa8zCAIw==","signatures":[{"sig":"MEUCIQCshXH79kxxbhTgC2dd0/6teXg9dGYiD0/9T/n3Dn1FVwIgURrps5+Xv+M0L+kaAXW9I7MZiYneGI8aRf0h5gdG35k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":73611},"jest":{"testEnvironment":"node"},"type":"module","types":"./index.d.ts","engines":{"node":">= 18.0.0"},"exports":{".":{"import":"./dist/koa.mjs","require":"./lib/application.js"},"./*":"./*.js","./*.js":"./*.js","./package":"./package.json","./lib/context":"./lib/context.js","./lib/request":"./lib/request.js","./lib/response":"./lib/response.js","./package.json":"./package.json","./lib/context.js":"./lib/context.js","./lib/request.js":"./lib/request.js","./lib/application":"./lib/application.js","./lib/response.js":"./lib/response.js","./lib/application.js":"./lib/application.js"},"gitHead":"3a5fd849bca26f80ff23279b9cd8a8484930cbf0","scripts":{"lint":"eslint --ignore-path .gitignore .","test":"jest --forceExit","build":"gen-esm-wrapper . ./dist/koa.mjs","authors":"git log --format='%aN <%aE>' | sort -u > AUTHORS"},"_npmUser":{"name":"houd1ni","email":"brantokrule@gmail.com"},"repository":{"url":"github.com/houd1ni/koa","type":"git"},"_npmVersion":"10.5.0","description":"Koa web app framework","directories":{},"_nodeVersion":"21.6.2","dependencies":{"depd":"^2.0.0","mime":"^4.0.1","only":"~0.0.2","vary":"^1.1.2","debug":"^4.3.4","fresh":"~0.5.2","pepka":"^1.0.0-beta.10","cookies":"~0.9.1","destroy":"^1.2.0","parseurl":"^1.3.3","statuses":"^2.0.1","delegates":"^1.0.0","encodeurl":"^1.0.2","negotiator":"^0.6.3","escape-html":"^1.0.3","http-errors":"^2.0.0","koa-compose":"^4.1.0","koa-convert":"^2.0.0","media-typer":"^1.1.0","on-finished":"^2.4.1","cache-content-type":"^1.0.1","content-disposition":"~0.5.4","is-generator-function":"^1.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.57.0","supertest":"^6.3.4","gen-esm-wrapper":"^1.1.3","eslint-config-koa":"^2.0.2","eslint-plugin-node":"^11.1.0","eslint-plugin-import":"^2.29.1","eslint-plugin-promise":"^6.1.1","eslint-config-standard":"^17.1.0","eslint-plugin-standard":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/koa_2.15.16_1709989934172_0.0682820328295759","host":"s3://npm-registry-packages"}},"2.15.17":{"name":"@houd1ni/koa","version":"2.15.17","keywords":["web","app","http","application","framework","middleware","rack"],"license":"MIT","_id":"@houd1ni/koa@2.15.17","maintainers":[{"name":"houd1ni","email":"brantokrule@gmail.com"}],"dist":{"shasum":"dfa863a24792d8e714c329255bc7d61e1916164b","tarball":"https://registry.npmjs.org/@houd1ni/koa/-/koa-2.15.17.tgz","fileCount":12,"integrity":"sha512-OWZ1A4SD5O5HhBwINvFLCilNWUtyBHxotRHofdgcpkoz9RZvwciGgJyX5a5bal+y2dOrLMWA0YwgkNBvEg9rdw==","signatures":[{"sig":"MEYCIQDcZKXfIbg6GW+aWOu50J0Hrm8Ad3/iCiQpb/Ps5z4R3wIhAOBQMDaYKzm9qbLxv9k2fGZFBHKTbLuqDCYshcKUj2/V","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":73608},"jest":{"testEnvironment":"node"},"type":"module","types":"./index.d.ts","engines":{"node":">= 18.0.0"},"exports":{".":{"import":"./dist/koa.mjs","require":"./lib/application.js"},"./*":"./*.js","./*.js":"./*.js","./package":"./package.json","./lib/context":"./lib/context.js","./lib/request":"./lib/request.js","./lib/response":"./lib/response.js","./package.json":"./package.json","./lib/context.js":"./lib/context.js","./lib/request.js":"./lib/request.js","./lib/application":"./lib/application.js","./lib/response.js":"./lib/response.js","./lib/application.js":"./lib/application.js"},"gitHead":"3d9f159593553505e483a397bd6d002be41107a1","scripts":{"lint":"eslint --ignore-path .gitignore .","test":"jest --forceExit","build":"gen-esm-wrapper . ./dist/koa.mjs","authors":"git log --format='%aN <%aE>' | sort -u > AUTHORS"},"_npmUser":{"name":"houd1ni","email":"brantokrule@gmail.com"},"repository":{"url":"github.com/houd1ni/koa","type":"git"},"_npmVersion":"10.5.0","description":"Koa web app framework","directories":{},"_nodeVersion":"21.6.2","dependencies":{"depd":"^2.0.0","mime":"^4.0.1","only":"~0.0.2","vary":"^1.1.2","debug":"^4.3.4","fresh":"~0.5.2","pepka":"^1.0.0-beta.10","cookies":"~0.9.1","destroy":"^1.2.0","parseurl":"^1.3.3","statuses":"^2.0.1","delegates":"^1.0.0","encodeurl":"^1.0.2","negotiator":"^0.6.3","escape-html":"^1.0.3","http-errors":"^2.0.0","koa-compose":"^4.1.0","koa-convert":"^2.0.0","media-typer":"^1.1.0","on-finished":"^2.4.1","cache-content-type":"^1.0.1","content-disposition":"~0.5.4","is-generator-function":"^1.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.57.0","supertest":"^6.3.4","gen-esm-wrapper":"^1.1.3","eslint-config-koa":"^2.0.2","eslint-plugin-node":"^11.1.0","eslint-plugin-import":"^2.29.1","eslint-plugin-promise":"^6.1.1","eslint-config-standard":"^17.1.0","eslint-plugin-standard":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/koa_2.15.17_1709990018258_0.061983208674036394","host":"s3://npm-registry-packages"}},"2.15.18":{"name":"@houd1ni/koa","version":"2.15.18","keywords":["web","app","http","application","framework","middleware","rack"],"license":"MIT","_id":"@houd1ni/koa@2.15.18","maintainers":[{"name":"houd1ni","email":"brantokrule@gmail.com"}],"dist":{"shasum":"7a2e4c78e47078afcdd1e7fe440114b5ceffaebe","tarball":"https://registry.npmjs.org/@houd1ni/koa/-/koa-2.15.18.tgz","fileCount":12,"integrity":"sha512-cCxeZLjLlYS/tGfJ4DsAEVVfM3Udz+BwQdw0PYv1dl8jQd0jnPqvvxBTQJdox7SJP6ZjYcOmXYs5pxmYxz7gog==","signatures":[{"sig":"MEYCIQCG//5Q8P+fKgGElNh2M0zUf8Df5eOvc6lhH5beQMXfGwIhAJl+P5cG43JefFeqb827KtTvCYTm/5ZsmEQv+ggoNV+r","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":73589},"jest":{"testEnvironment":"node"},"type":"module","types":"./index.d.ts","engines":{"node":">= 18.0.0"},"exports":{".":{"import":"./dist/koa.mjs","require":"./lib/application.js"},"./*":"./*.js","./*.js":"./*.js","./package":"./package.json","./lib/context":"./lib/context.js","./lib/request":"./lib/request.js","./lib/response":"./lib/response.js","./package.json":"./package.json","./lib/context.js":"./lib/context.js","./lib/request.js":"./lib/request.js","./lib/application":"./lib/application.js","./lib/response.js":"./lib/response.js","./lib/application.js":"./lib/application.js"},"gitHead":"e3ce1c9a575e8e2d83a67e3363d622525504df3b","scripts":{"lint":"eslint --ignore-path .gitignore .","test":"jest --forceExit","build":"gen-esm-wrapper . ./dist/koa.mjs","authors":"git log --format='%aN <%aE>' | sort -u > AUTHORS"},"_npmUser":{"name":"houd1ni","email":"brantokrule@gmail.com"},"repository":{"url":"github.com/houd1ni/koa","type":"git"},"_npmVersion":"10.5.0","description":"Koa web app framework","directories":{},"_nodeVersion":"21.6.2","dependencies":{"depd":"^2.0.0","mime":"^4.0.1","only":"~0.0.2","vary":"^1.1.2","debug":"^4.3.4","fresh":"~0.5.2","pepka":"^1.0.0-beta.10","cookies":"~0.9.1","destroy":"^1.2.0","parseurl":"^1.3.3","statuses":"^2.0.1","delegates":"^1.0.0","encodeurl":"^1.0.2","negotiator":"^0.6.3","escape-html":"^1.0.3","http-errors":"^2.0.0","koa-compose":"^4.1.0","koa-convert":"^2.0.0","media-typer":"^1.1.0","on-finished":"^2.4.1","cache-content-type":"^1.0.1","content-disposition":"~0.5.4","is-generator-function":"^1.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.57.0","supertest":"^6.3.4","gen-esm-wrapper":"^1.1.3","eslint-config-koa":"^2.0.2","eslint-plugin-node":"^11.1.0","eslint-plugin-import":"^2.29.1","eslint-plugin-promise":"^6.1.1","eslint-config-standard":"^17.1.0","eslint-plugin-standard":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/koa_2.15.18_1709996828626_0.3537844130800514","host":"s3://npm-registry-packages"}},"2.15.19":{"name":"@houd1ni/koa","version":"2.15.19","keywords":["web","app","http","application","framework","middleware","rack"],"license":"MIT","_id":"@houd1ni/koa@2.15.19","maintainers":[{"name":"houd1ni","email":"brantokrule@gmail.com"}],"dist":{"shasum":"5895118347f0bd8f3aeae969021861ee59b9b796","tarball":"https://registry.npmjs.org/@houd1ni/koa/-/koa-2.15.19.tgz","fileCount":12,"integrity":"sha512-JrhmD+gevEBwmlwU50ESp4oKwVMYeDBcXi89YiBX1DaQg+zdNeLidh6Ju+VpWiosJB5z/TDcMD3YQFpmxYkILw==","signatures":[{"sig":"MEUCIQCgoecwfB3Ze8lg4KYb4PXXR2d0ik8a4cVGTtofMcbFiQIgLGHq3JCyolM1rkrcpaaCjv8YMp6TUWGB/lf5YiHQcrc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":73246},"jest":{"testEnvironment":"node"},"type":"module","types":"./index.d.ts","engines":{"node":">= 18.0.0"},"exports":{".":{"import":"./dist/koa.mjs","require":"./lib/application.js"},"./*":"./*.js","./*.js":"./*.js","./package":"./package.json","./lib/context":"./lib/context.js","./lib/request":"./lib/request.js","./lib/response":"./lib/response.js","./package.json":"./package.json","./lib/context.js":"./lib/context.js","./lib/request.js":"./lib/request.js","./lib/application":"./lib/application.js","./lib/response.js":"./lib/response.js","./lib/application.js":"./lib/application.js"},"gitHead":"1f1fd4eb6f3bb7e43ed59768e54659ffaafe7e91","scripts":{"lint":"eslint --ignore-path .gitignore .","test":"jest --forceExit","build":"gen-esm-wrapper . ./dist/koa.mjs","authors":"git log --format='%aN <%aE>' | sort -u > AUTHORS"},"_npmUser":{"name":"houd1ni","email":"brantokrule@gmail.com"},"repository":{"url":"github.com/houd1ni/koa","type":"git"},"_npmVersion":"10.8.1","description":"Koa web app framework","directories":{},"_nodeVersion":"22.3.0","dependencies":{"depd":"^2.0.0","mime":"^4.0.4","only":"~0.0.2","vary":"^1.1.2","debug":"^4.3.7","fresh":"~0.5.2","pepka":"^1.6.1","cookies":"~0.9.1","destroy":"^1.2.0","parseurl":"^1.3.3","statuses":"^2.0.1","delegates":"^1.0.0","encodeurl":"^2.0.0","negotiator":"^0.6.3","escape-html":"^1.0.3","http-errors":"^2.0.0","koa-compose":"^4.1.0","koa-convert":"^2.0.0","media-typer":"^1.1.0","on-finished":"^2.4.1","cache-content-type":"^2.0.0","content-disposition":"~0.5.4","is-generator-function":"^1.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","supertest":"^7.0.0","gen-esm-wrapper":"^1.1.3"},"_npmOperationalInternal":{"tmp":"tmp/koa_2.15.19_1726714155365_0.3129164211357607","host":"s3://npm-registry-packages"}},"2.15.20":{"name":"@houd1ni/koa","version":"2.15.20","keywords":["web","app","http","application","framework","middleware","rack"],"license":"MIT","_id":"@houd1ni/koa@2.15.20","maintainers":[{"name":"houd1ni","email":"brantokrule@gmail.com"}],"dist":{"shasum":"d8d20637ddecaf6a462c8e3b2087bf507472be70","tarball":"https://registry.npmjs.org/@houd1ni/koa/-/koa-2.15.20.tgz","fileCount":12,"integrity":"sha512-I4wDQBfQEQZXrUb2MRTmRzoCNq53UOitv5WAHGfGXUSVtZH03JeHwu1gV0PsL+vhyZIPeSHz6u4BsFmFEbNjNA==","signatures":[{"sig":"MEQCIGu/WKq0mUVdi15Q9PnPzhKR+KAjivhILCqhw4MoxwJcAiAecXqZSy1umUqpHEdi+SdrtTTpwkCfbPqkDIuAlnEyaw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":73252},"jest":{"testEnvironment":"node"},"type":"module","types":"./index.d.ts","engines":{"node":">= 18.0.0"},"exports":{".":{"import":"./dist/koa.mjs","require":"./lib/application.js"},"./*":"./*.js","./*.js":"./*.js","./package":"./package.json","./lib/context":"./lib/context.js","./lib/request":"./lib/request.js","./lib/response":"./lib/response.js","./package.json":"./package.json","./lib/context.js":"./lib/context.js","./lib/request.js":"./lib/request.js","./lib/application":"./lib/application.js","./lib/response.js":"./lib/response.js","./lib/application.js":"./lib/application.js"},"gitHead":"1ba0b0a91530ee87955ea271da4c1ebe1df379a2","scripts":{"lint":"eslint --ignore-path .gitignore .","test":"jest --forceExit","build":"gen-esm-wrapper . ./dist/koa.mjs","authors":"git log --format='%aN <%aE>' | sort -u > AUTHORS"},"_npmUser":{"name":"houd1ni","email":"brantokrule@gmail.com"},"repository":{"url":"github.com/houd1ni/koa","type":"git"},"_npmVersion":"10.8.1","description":"Koa web app framework","directories":{},"_nodeVersion":"22.3.0","dependencies":{"depd":"^2.0.0","mime":"^4.0.4","only":"~0.0.2","vary":"^1.1.2","debug":"^4.3.7","fresh":"~0.5.2","pepka":"^1.6.1","cookies":"~0.9.1","destroy":"^1.2.0","parseurl":"^1.3.3","statuses":"^2.0.1","delegates":"^1.0.0","encodeurl":"^2.0.0","negotiator":"^0.6.3","escape-html":"^1.0.3","http-errors":"^2.0.0","koa-compose":"^4.1.0","koa-convert":"^2.0.0","media-typer":"^1.1.0","on-finished":"^2.4.1","cache-content-type":"^2.0.0","content-disposition":"~0.5.4","is-generator-function":"^1.0.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","supertest":"^7.0.0","gen-esm-wrapper":"^1.1.3"},"_npmOperationalInternal":{"tmp":"tmp/koa_2.15.20_1726715239525_0.6580942352526422","host":"s3://npm-registry-packages"}},"2.15.21":{"name":"@houd1ni/koa","version":"2.15.21","keywords":["web","app","http","application","framework","middleware","rack"],"license":"MIT","_id":"@houd1ni/koa@2.15.21","maintainers":[{"name":"houd1ni","email":"brantokrule@gmail.com"}],"dist":{"shasum":"c8d2dbd65df1cb7c501d106d6d1020c5eba7cd93","tarball":"https://registry.npmjs.org/@houd1ni/koa/-/koa-2.15.21.tgz","fileCount":12,"integrity":"sha512-meUPEvyJJdvyXEODp7AxujaHWDu7NiUZgmhdL2OYqSYp5ZV53N2rgQM05vbo/egwCUMD7bVbOvVuM08cicq27g==","signatures":[{"sig":"MEUCIQCl8fPKMPVrL9Qk2YzAHTP18O/etmFjkHyuGqE6odJIQQIgK2g3LzbNZ+IUxGpR3+S3ZdaFFUfvbSO4KHases+esUw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":75798},"jest":{"testEnvironment":"node"},"main":"lib/application.js","type":"module","types":"./index.d.ts","engines":{"node":">= 18.0.0"},"exports":{".":{"import":"./dist/koa.mjs","require":"./lib/application.js"},"./*":"./*.js","./*.js":"./*.js","./package":"./package.json","./lib/context":"./lib/context.js","./lib/request":"./lib/request.js","./lib/response":"./lib/response.js","./package.json":"./package.json","./lib/context.js":"./lib/context.js","./lib/request.js":"./lib/request.js","./lib/application":"./lib/application.js","./lib/response.js":"./lib/response.js","./lib/application.js":"./lib/application.js"},"gitHead":"3ce05a541859da3951c8d1b93a66a6e1028b502c","scripts":{"lint":"eslint --ignore-path .gitignore .","test":"jest --forceExit","build":"gen-esm-wrapper . ./dist/koa.mjs","authors":"git log --format='%aN <%aE>' | sort -u > AUTHORS"},"_npmUser":{"name":"houd1ni","email":"brantokrule@gmail.com"},"repository":{"url":"github.com/houd1ni/koa","type":"git"},"_npmVersion":"11.7.0","description":"Koa web app framework","directories":{},"_nodeVersion":"23.6.0","dependencies":{"depd":"^2.0.0","mime":"^4.1.0","only":"~0.0.2","vary":"^1.1.2","debug":"^4.4.3","fresh":"~0.5.2","pepka":"^1.6.23","cookies":"~0.9.1","destroy":"^1.2.0","parseurl":"^1.3.3","statuses":"^2.0.2","delegates":"^1.0.0","encodeurl":"^2.0.0","negotiator":"^1.0.0","escape-html":"^1.0.3","http-errors":"^2.0.1","koa-compose":"^4.1.0","koa-convert":"^2.0.0","media-typer":"^1.1.0","on-finished":"^2.4.1","cache-content-type":"^2.1.0","content-disposition":"~1.0.1","is-generator-function":"^1.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","supertest":"^7.2.2","gen-esm-wrapper":"^1.1.3"},"_npmOperationalInternal":{"tmp":"tmp/koa_2.15.21_1772054550659_0.412432465335157","host":"s3://npm-registry-packages-npm-production"}},"2.15.22":{"name":"@houd1ni/koa","version":"2.15.22","description":"Koa web app framework","type":"module","types":"./index.d.ts","main":"lib/application.js","exports":{".":{"require":"./lib/application.js","import":"./dist/koa.mjs"},"./lib/request":"./lib/request.js","./lib/request.js":"./lib/request.js","./lib/response":"./lib/response.js","./lib/response.js":"./lib/response.js","./lib/application":"./lib/application.js","./lib/application.js":"./lib/application.js","./lib/context":"./lib/context.js","./lib/context.js":"./lib/context.js","./*":"./*.js","./*.js":"./*.js","./package":"./package.json","./package.json":"./package.json"},"scripts":{"test":"jest --forceExit","lint":"eslint --ignore-path .gitignore .","authors":"git log --format='%aN <%aE>' | sort -u > AUTHORS","build":"gen-esm-wrapper . ./dist/koa.mjs"},"repository":{"type":"git","url":"github.com/houd1ni/koa"},"keywords":["web","app","http","application","framework","middleware","rack"],"license":"MIT","dependencies":{"cache-content-type":"^2.1.0","content-disposition":"~1.0.1","cookies":"~0.9.1","debug":"^4.4.3","delegates":"^1.0.0","depd":"^2.0.0","destroy":"^1.2.0","encodeurl":"^2.0.0","escape-html":"^1.0.3","fresh":"~0.5.2","http-errors":"^2.0.1","is-generator-function":"^1.1.2","koa-compose":"^4.1.0","koa-convert":"^2.0.0","media-typer":"^1.1.0","mime":"^4.1.0","negotiator":"^1.0.0","on-finished":"^2.4.1","only":"~0.0.2","parseurl":"^1.3.3","pepka":"^1.6.23","statuses":"^2.0.2","vary":"^1.1.2"},"devDependencies":{"gen-esm-wrapper":"^1.1.3","jest":"^30.2.0","supertest":"^7.2.2"},"engines":{"node":">= 18.0.0"},"jest":{"testEnvironment":"node"},"gitHead":"3ce05a541859da3951c8d1b93a66a6e1028b502c","_id":"@houd1ni/koa@2.15.22","_nodeVersion":"23.6.0","_npmVersion":"11.7.0","dist":{"integrity":"sha512-bYUk1/Qqg4RljYx4E3ec6vWQG4KhhSY4uWGQ3+UHQLGK+fVmQ0DqBie776aPlTxJvuKCYrKBzU8Nn94nfLtGDA==","shasum":"ef9d1f535b16bc5f7af7b84b26041cb32008566c","tarball":"https://registry.npmjs.org/@houd1ni/koa/-/koa-2.15.22.tgz","fileCount":12,"unpackedSize":75434,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIFNtGK8GftAl4eQal6QozbbtVXeHn9wM15hLT7JRQng0AiEA6AnG3qc3P7t7Om0U8OfIY7AufGC16XFf8cg5UWcfxFI="}]},"_npmUser":{"name":"houd1ni","email":"brantokrule@gmail.com"},"directories":{},"maintainers":[{"name":"houd1ni","email":"brantokrule@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/koa_2.15.22_1773182672638_0.8189010943713293"},"_hasShrinkwrap":false}},"time":{"created":"2023-02-17T20:54:31.998Z","modified":"2026-03-10T22:44:32.909Z","2.14.1":"2023-02-17T20:54:32.273Z","2.14.2":"2023-02-17T20:56:57.629Z","2.14.3":"2023-02-17T21:33:02.434Z","2.14.4":"2023-02-17T22:33:50.152Z","2.14.5":"2023-02-25T02:02:51.201Z","2.14.6":"2023-02-25T09:22:21.701Z","2.15.0":"2023-02-26T00:56:26.746Z","2.15.1":"2023-02-26T00:58:52.481Z","2.15.2":"2023-02-26T01:02:30.364Z","2.15.3":"2023-02-26T01:07:05.618Z","2.15.4":"2023-02-26T01:19:41.807Z","2.15.5":"2023-02-26T01:26:39.762Z","2.15.6":"2023-02-26T01:40:02.844Z","2.15.7":"2023-02-26T01:42:14.796Z","2.15.8":"2023-02-26T01:45:19.263Z","2.15.9":"2023-02-26T01:57:01.542Z","2.15.10":"2023-02-27T07:49:02.664Z","2.15.11":"2023-02-27T07:57:31.927Z","2.15.12":"2023-03-22T09:23:09.327Z","2.15.13":"2023-05-13T15:47:54.605Z","2.15.14":"2023-05-13T23:06:30.064Z","2.15.15":"2024-03-09T12:43:35.532Z","2.15.16":"2024-03-09T13:12:14.350Z","2.15.17":"2024-03-09T13:13:38.452Z","2.15.18":"2024-03-09T15:07:08.847Z","2.15.19":"2024-09-19T02:49:15.527Z","2.15.20":"2024-09-19T03:07:19.701Z","2.15.21":"2026-02-25T21:22:30.813Z","2.15.22":"2026-03-10T22:44:32.780Z"},"license":"MIT","keywords":["web","app","http","application","framework","middleware","rack"],"repository":{"type":"git","url":"github.com/houd1ni/koa"},"description":"Koa web app framework","maintainers":[{"name":"houd1ni","email":"brantokrule@gmail.com"}],"readme":"<img src=\"/docs/logo.png\" alt=\"Koa middleware framework for nodejs\"/>\r\n\r\n  [![gitter][gitter-image]][gitter-url]\r\n  [![NPM version][npm-image]][npm-url]\r\n  [![build status][travis-image]][travis-url]\r\n  [![Test coverage][coveralls-image]][coveralls-url]\r\n  [![OpenCollective Backers][backers-image]](#backers)\r\n  [![OpenCollective Sponsors][sponsors-image]](#sponsors)\r\n  [![PR's Welcome][pr-welcoming-image]][pr-welcoming-url]\r\n\r\n  ## this a fork without large (>200kb) mime-db dependency, but with 2.5kb mime/lite instead for low-memory environments.\r\n  ## Alls deps got upgraded. Moved to ES-Modules.\r\n  ## API will be kept the same as in original Koa.\r\n  ### it should handle almost any sane use case though.\r\n  ### it is meant to be in production, so I'll keep it up to date, by the way. Especially, if requested ;)\r\n  \r\n\r\n  Expressive HTTP middleware framework for node.js to make web applications and APIs more enjoyable to write. Koa's middleware stack flows in a stack-like manner, allowing you to perform actions downstream then filter and manipulate the response upstream.\r\n\r\n  Only methods that are common to nearly all HTTP servers are integrated directly into Koa's small ~570 SLOC codebase. This\r\n  includes things like content negotiation, normalization of node inconsistencies, redirection, and a few others.\r\n\r\n  Koa is not bundled with any middleware.\r\n\r\n## Installation\r\n\r\nKoa requires __node v7.6.0__ or higher for ES2015 and async function support.\r\n\r\n```\r\n$ npm install koa\r\n```\r\n\r\n## Hello Koa\r\n\r\n```js\r\nconst Koa = require('koa');\r\nconst app = new Koa();\r\n\r\n// response\r\napp.use(ctx => {\r\n  ctx.body = 'Hello Koa';\r\n});\r\n\r\napp.listen(3000);\r\n```\r\n\r\n## Getting started\r\n\r\n - [Kick-Off-Koa](https://github.com/koajs/kick-off-koa) - An intro to Koa via a set of self-guided workshops.\r\n - [Workshop](https://github.com/koajs/workshop) - A workshop to learn the basics of Koa, Express' spiritual successor.\r\n - [Introduction Screencast](https://knowthen.com/episode-3-koajs-quickstart-guide/) - An introduction to installing and getting started with Koa\r\n\r\n\r\n## Middleware\r\n\r\nKoa is a middleware framework that can take two different kinds of functions as middleware:\r\n\r\n  * async function\r\n  * common function\r\n\r\nHere is an example of logger middleware with each of the different functions:\r\n\r\n### ___async___ functions (node v7.6+)\r\n\r\n```js\r\napp.use(async (ctx, next) => {\r\n  const start = Date.now();\r\n  await next();\r\n  const ms = Date.now() - start;\r\n  console.log(`${ctx.method} ${ctx.url} - ${ms}ms`);\r\n});\r\n```\r\n\r\n### Common function\r\n\r\n```js\r\n// Middleware normally takes two parameters (ctx, next), ctx is the context for one request,\r\n// next is a function that is invoked to execute the downstream middleware. It returns a Promise with a then function for running code after completion.\r\n\r\napp.use((ctx, next) => {\r\n  const start = Date.now();\r\n  return next().then(() => {\r\n    const ms = Date.now() - start;\r\n    console.log(`${ctx.method} ${ctx.url} - ${ms}ms`);\r\n  });\r\n});\r\n```\r\n\r\n### Koa v1.x Middleware Signature\r\n\r\nThe middleware signature changed between v1.x and v2.x.  The older signature is deprecated.\r\n\r\n**Old signature middleware support will be removed in v3**\r\n\r\nPlease see the [Migration Guide](docs/migration.md) for more information on upgrading from v1.x and\r\nusing v1.x middleware with v2.x.\r\n\r\n## Context, Request and Response\r\n\r\nEach middleware receives a Koa `Context` object that encapsulates an incoming\r\nhttp message and the corresponding response to that message.  `ctx` is often used\r\nas the parameter name for the context object.\r\n\r\n```js\r\napp.use(async (ctx, next) => { await next(); });\r\n```\r\n\r\nKoa provides a `Request` object as the `request` property of the `Context`.  \r\nKoa's `Request` object provides helpful methods for working with\r\nhttp requests which delegate to an [IncomingMessage](https://nodejs.org/api/http.html#http_class_http_incomingmessage)\r\nfrom the node `http` module.\r\n\r\nHere is an example of checking that a requesting client supports xml.\r\n\r\n```js\r\napp.use(async (ctx, next) => {\r\n  ctx.assert(ctx.request.accepts('xml'), 406);\r\n  // equivalent to:\r\n  // if (!ctx.request.accepts('xml')) ctx.throw(406);\r\n  await next();\r\n});\r\n```\r\n\r\nKoa provides a `Response` object as the `response` property of the `Context`.  \r\nKoa's `Response` object provides helpful methods for working with\r\nhttp responses which delegate to a [ServerResponse](https://nodejs.org/api/http.html#http_class_http_serverresponse)\r\n.  \r\n\r\nKoa's pattern of delegating to Node's request and response objects rather than extending them\r\nprovides a cleaner interface and reduces conflicts between different middleware and with Node\r\nitself as well as providing better support for stream handling.  The `IncomingMessage` can still be\r\ndirectly accessed as the `req` property on the `Context` and `ServerResponse` can be directly\r\naccessed as the `res` property on the `Context`.\r\n\r\nHere is an example using Koa's `Response` object to stream a file as the response body.\r\n\r\n```js\r\napp.use(async (ctx, next) => {\r\n  await next();\r\n  ctx.response.type = 'xml';\r\n  ctx.response.body = fs.createReadStream('really_large.xml');\r\n});\r\n```\r\n\r\nThe `Context` object also provides shortcuts for methods on its `request` and `response`.  In the prior\r\nexamples,  `ctx.type` can be used instead of `ctx.response.type` and `ctx.accepts` can be used\r\ninstead of `ctx.request.accepts`.\r\n\r\nFor more information on `Request`, `Response` and `Context`, see the [Request API Reference](docs/api/request.md),\r\n[Response API Reference](docs/api/response.md) and [Context API Reference](docs/api/context.md).\r\n\r\n## Koa Application\r\n\r\nThe object created when executing `new Koa()` is known as the Koa application object.\r\n\r\nThe application object is Koa's interface with node's http server and handles the registration\r\nof middleware, dispatching to the middleware from http, default error handling, as well as\r\nconfiguration of the context, request and response objects.\r\n\r\nLearn more about the application object in the [Application API Reference](docs/api/index.md).\r\n\r\n## Documentation\r\n\r\n - [Usage Guide](docs/guide.md)\r\n - [Error Handling](docs/error-handling.md)\r\n - [Koa for Express Users](docs/koa-vs-express.md)\r\n - [FAQ](docs/faq.md)\r\n - [API documentation](docs/api/index.md)\r\n\r\n## Troubleshooting\r\n\r\nCheck the [Troubleshooting Guide](docs/troubleshooting.md) or [Debugging Koa](docs/guide.md#debugging-koa) in\r\nthe general Koa guide.\r\n\r\n## Running tests\r\n\r\n```\r\n$ npm test\r\n```\r\n\r\n## Reporting vulnerabilities\r\n\r\nTo report a security vulnerability, please do not open an issue, as this notifies attackers of the vulnerability. Instead, please email [dead_horse](mailto:heyiyu.deadhorse@gmail.com), [jonathanong](mailto:me@jongleberry.com), and [niftylettuce](mailto:niftylettuce@gmail.com) to disclose.\r\n\r\n## Authors\r\n\r\nSee [AUTHORS](AUTHORS).\r\n\r\n## Community\r\n\r\n - [Badgeboard](https://koajs.github.io/badgeboard) and list of official modules\r\n - [Examples](https://github.com/koajs/examples)\r\n - [Middleware](https://github.com/koajs/koa/wiki) list\r\n - [Wiki](https://github.com/koajs/koa/wiki)\r\n - [Reddit Community](https://www.reddit.com/r/koajs)\r\n - [Mailing list](https://groups.google.com/forum/#!forum/koajs)\r\n - [中文文档 v1.x](https://github.com/guo-yu/koa-guide)\r\n - [中文文档 v2.x](https://github.com/demopark/koa-docs-Zh-CN)\r\n - __[#koajs]__ on freenode\r\n\r\n## Job Board\r\n\r\nLooking for a career upgrade?\r\n\r\n<a href=\"https://astro.netlify.com/automattic\"><img src=\"https://astro.netlify.com/static/automattic.png\"></a>\r\n<a href=\"https://astro.netlify.com/segment\"><img src=\"https://astro.netlify.com/static/segment.png\"></a>\r\n<a href=\"https://astro.netlify.com/auth0\"><img src=\"https://astro.netlify.com/static/auth0.png\"/></a>\r\n\r\n## Backers\r\n\r\nSupport us with a monthly donation and help us continue our activities.\r\n\r\n<a href=\"https://opencollective.com/koajs/backer/0/website\" target=\"_blank\"><img src=\"https://opencollective.com/koajs/backer/0/avatar.svg\"></a>\r\n<a href=\"https://opencollective.com/koajs/backer/1/website\" target=\"_blank\"><img src=\"https://opencollective.com/koajs/backer/1/avatar.svg\"></a>\r\n<a href=\"https://opencollective.com/koajs/backer/2/website\" target=\"_blank\"><img src=\"https://opencollective.com/koajs/backer/2/avatar.svg\"></a>\r\n<a href=\"https://opencollective.com/koajs/backer/3/website\" target=\"_blank\"><img src=\"https://opencollective.com/koajs/backer/3/avatar.svg\"></a>\r\n<a href=\"https://opencollective.com/koajs/backer/4/website\" target=\"_blank\"><img src=\"https://opencollective.com/koajs/backer/4/avatar.svg\"></a>\r\n<a href=\"https://opencollective.com/koajs/backer/5/website\" target=\"_blank\"><img src=\"https://opencollective.com/koajs/backer/5/avatar.svg\"></a>\r\n<a href=\"https://opencollective.com/koajs/backer/6/website\" target=\"_blank\"><img src=\"https://opencollective.com/koajs/backer/6/avatar.svg\"></a>\r\n<a href=\"https://opencollective.com/koajs/backer/7/website\" target=\"_blank\"><img src=\"https://opencollective.com/koajs/backer/7/avatar.svg\"></a>\r\n<a href=\"https://opencollective.com/koajs/backer/8/website\" target=\"_blank\"><img src=\"https://opencollective.com/koajs/backer/8/avatar.svg\"></a>\r\n<a href=\"https://opencollective.com/koajs/backer/9/website\" target=\"_blank\"><img src=\"https://opencollective.com/koajs/backer/9/avatar.svg\"></a>\r\n<a href=\"https://opencollective.com/koajs/backer/10/website\" target=\"_blank\"><img src=\"https://opencollective.com/koajs/backer/10/avatar.svg\"></a>\r\n<a href=\"https://opencollective.com/koajs/backer/11/website\" target=\"_blank\"><img src=\"https://opencollective.com/koajs/backer/11/avatar.svg\"></a>\r\n<a href=\"https://opencollective.com/koajs/backer/12/website\" target=\"_blank\"><img src=\"https://opencollective.com/koajs/backer/12/avatar.svg\"></a>\r\n<a href=\"https://opencollective.com/koajs/backer/13/website\" target=\"_blank\"><img src=\"https://opencollective.com/koajs/backer/13/avatar.svg\"></a>\r\n<a href=\"https://opencollective.com/koajs/backer/14/website\" target=\"_blank\"><img src=\"https://opencollective.com/koajs/backer/14/avatar.svg\"></a>\r\n<a href=\"https://opencollective.com/koajs/backer/15/website\" target=\"_blank\"><img src=\"https://opencollective.com/koajs/backer/15/avatar.svg\"></a>\r\n<a href=\"https://opencollective.com/koajs/backer/16/website\" target=\"_blank\"><img src=\"https://opencollective.com/koajs/backer/16/avatar.svg\"></a>\r\n<a href=\"https://opencollective.com/koajs/backer/17/website\" target=\"_blank\"><img src=\"https://opencollective.com/koajs/backer/17/avatar.svg\"></a>\r\n<a href=\"https://opencollective.com/koajs/backer/18/website\" target=\"_blank\"><img src=\"https://opencollective.com/koajs/backer/18/avatar.svg\"></a>\r\n<a href=\"https://opencollective.com/koajs/backer/19/website\" target=\"_blank\"><img src=\"https://opencollective.com/koajs/backer/19/avatar.svg\"></a>\r\n<a href=\"https://opencollective.com/koajs/backer/20/website\" target=\"_blank\"><img src=\"https://opencollective.com/koajs/backer/20/avatar.svg\"></a>\r\n<a href=\"https://opencollective.com/koajs/backer/21/website\" target=\"_blank\"><img src=\"https://opencollective.com/koajs/backer/21/avatar.svg\"></a>\r\n<a href=\"https://opencollective.com/koajs/backer/22/website\" target=\"_blank\"><img src=\"https://opencollective.com/koajs/backer/22/avatar.svg\"></a>\r\n<a href=\"https://opencollective.com/koajs/backer/23/website\" target=\"_blank\"><img src=\"https://opencollective.com/koajs/backer/23/avatar.svg\"></a>\r\n<a href=\"https://opencollective.com/koajs/backer/24/website\" target=\"_blank\"><img src=\"https://opencollective.com/koajs/backer/24/avatar.svg\"></a>\r\n<a href=\"https://opencollective.com/koajs/backer/25/website\" target=\"_blank\"><img src=\"https://opencollective.com/koajs/backer/25/avatar.svg\"></a>\r\n<a href=\"https://opencollective.com/koajs/backer/26/website\" target=\"_blank\"><img src=\"https://opencollective.com/koajs/backer/26/avatar.svg\"></a>\r\n<a href=\"https://opencollective.com/koajs/backer/27/website\" target=\"_blank\"><img src=\"https://opencollective.com/koajs/backer/27/avatar.svg\"></a>\r\n<a href=\"https://opencollective.com/koajs/backer/28/website\" target=\"_blank\"><img src=\"https://opencollective.com/koajs/backer/28/avatar.svg\"></a>\r\n<a href=\"https://opencollective.com/koajs/backer/29/website\" target=\"_blank\"><img src=\"https://opencollective.com/koajs/backer/29/avatar.svg\"></a>\r\n\r\n\r\n## Sponsors\r\n\r\nBecome a sponsor and get your logo on our README on Github with a link to your site.\r\n\r\n<a href=\"https://opencollective.com/koajs/sponsor/0/website\" target=\"_blank\"><img src=\"https://opencollective.com/koajs/sponsor/0/avatar.svg\"></a>\r\n<a href=\"https://opencollective.com/koajs/sponsor/1/website\" target=\"_blank\"><img src=\"https://opencollective.com/koajs/sponsor/1/avatar.svg\"></a>\r\n<a href=\"https://opencollective.com/koajs/sponsor/2/website\" target=\"_blank\"><img src=\"https://opencollective.com/koajs/sponsor/2/avatar.svg\"></a>\r\n<a href=\"https://opencollective.com/koajs/sponsor/3/website\" target=\"_blank\"><img src=\"https://opencollective.com/koajs/sponsor/3/avatar.svg\"></a>\r\n<a href=\"https://opencollective.com/koajs/sponsor/4/website\" target=\"_blank\"><img src=\"https://opencollective.com/koajs/sponsor/4/avatar.svg\"></a>\r\n<a href=\"https://opencollective.com/koajs/sponsor/5/website\" target=\"_blank\"><img src=\"https://opencollective.com/koajs/sponsor/5/avatar.svg\"></a>\r\n<a href=\"https://opencollective.com/koajs/sponsor/6/website\" target=\"_blank\"><img src=\"https://opencollective.com/koajs/sponsor/6/avatar.svg\"></a>\r\n<a href=\"https://opencollective.com/koajs/sponsor/7/website\" target=\"_blank\"><img src=\"https://opencollective.com/koajs/sponsor/7/avatar.svg\"></a>\r\n<a href=\"https://opencollective.com/koajs/sponsor/8/website\" target=\"_blank\"><img src=\"https://opencollective.com/koajs/sponsor/8/avatar.svg\"></a>\r\n<a href=\"https://opencollective.com/koajs/sponsor/9/website\" target=\"_blank\"><img src=\"https://opencollective.com/koajs/sponsor/9/avatar.svg\"></a>\r\n<a href=\"https://opencollective.com/koajs/sponsor/10/website\" target=\"_blank\"><img src=\"https://opencollective.com/koajs/sponsor/10/avatar.svg\"></a>\r\n<a href=\"https://opencollective.com/koajs/sponsor/11/website\" target=\"_blank\"><img src=\"https://opencollective.com/koajs/sponsor/11/avatar.svg\"></a>\r\n<a href=\"https://opencollective.com/koajs/sponsor/12/website\" target=\"_blank\"><img src=\"https://opencollective.com/koajs/sponsor/12/avatar.svg\"></a>\r\n<a href=\"https://opencollective.com/koajs/sponsor/13/website\" target=\"_blank\"><img src=\"https://opencollective.com/koajs/sponsor/13/avatar.svg\"></a>\r\n<a href=\"https://opencollective.com/koajs/sponsor/14/website\" target=\"_blank\"><img src=\"https://opencollective.com/koajs/sponsor/14/avatar.svg\"></a>\r\n<a href=\"https://opencollective.com/koajs/sponsor/15/website\" target=\"_blank\"><img src=\"https://opencollective.com/koajs/sponsor/15/avatar.svg\"></a>\r\n<a href=\"https://opencollective.com/koajs/sponsor/16/website\" target=\"_blank\"><img src=\"https://opencollective.com/koajs/sponsor/16/avatar.svg\"></a>\r\n<a href=\"https://opencollective.com/koajs/sponsor/17/website\" target=\"_blank\"><img src=\"https://opencollective.com/koajs/sponsor/17/avatar.svg\"></a>\r\n<a href=\"https://opencollective.com/koajs/sponsor/18/website\" target=\"_blank\"><img src=\"https://opencollective.com/koajs/sponsor/18/avatar.svg\"></a>\r\n<a href=\"https://opencollective.com/koajs/sponsor/19/website\" target=\"_blank\"><img src=\"https://opencollective.com/koajs/sponsor/19/avatar.svg\"></a>\r\n<a href=\"https://opencollective.com/koajs/sponsor/20/website\" target=\"_blank\"><img src=\"https://opencollective.com/koajs/sponsor/20/avatar.svg\"></a>\r\n<a href=\"https://opencollective.com/koajs/sponsor/21/website\" target=\"_blank\"><img src=\"https://opencollective.com/koajs/sponsor/21/avatar.svg\"></a>\r\n<a href=\"https://opencollective.com/koajs/sponsor/22/website\" target=\"_blank\"><img src=\"https://opencollective.com/koajs/sponsor/22/avatar.svg\"></a>\r\n<a href=\"https://opencollective.com/koajs/sponsor/23/website\" target=\"_blank\"><img src=\"https://opencollective.com/koajs/sponsor/23/avatar.svg\"></a>\r\n<a href=\"https://opencollective.com/koajs/sponsor/24/website\" target=\"_blank\"><img src=\"https://opencollective.com/koajs/sponsor/24/avatar.svg\"></a>\r\n<a href=\"https://opencollective.com/koajs/sponsor/25/website\" target=\"_blank\"><img src=\"https://opencollective.com/koajs/sponsor/25/avatar.svg\"></a>\r\n<a href=\"https://opencollective.com/koajs/sponsor/26/website\" target=\"_blank\"><img src=\"https://opencollective.com/koajs/sponsor/26/avatar.svg\"></a>\r\n<a href=\"https://opencollective.com/koajs/sponsor/27/website\" target=\"_blank\"><img src=\"https://opencollective.com/koajs/sponsor/27/avatar.svg\"></a>\r\n<a href=\"https://opencollective.com/koajs/sponsor/28/website\" target=\"_blank\"><img src=\"https://opencollective.com/koajs/sponsor/28/avatar.svg\"></a>\r\n<a href=\"https://opencollective.com/koajs/sponsor/29/website\" target=\"_blank\"><img src=\"https://opencollective.com/koajs/sponsor/29/avatar.svg\"></a>\r\n\r\n# License\r\n\r\n  [MIT](https://github.com/koajs/koa/blob/master/LICENSE)\r\n\r\n[npm-image]: https://img.shields.io/npm/v/koa.svg?style=flat-square\r\n[npm-url]: https://www.npmjs.com/package/koa\r\n[travis-image]: https://img.shields.io/travis/koajs/koa/master.svg?style=flat-square\r\n[travis-url]: https://travis-ci.org/koajs/koa\r\n[coveralls-image]: https://img.shields.io/codecov/c/github/koajs/koa.svg?style=flat-square\r\n[coveralls-url]: https://codecov.io/github/koajs/koa?branch=master\r\n[backers-image]: https://opencollective.com/koajs/backers/badge.svg?style=flat-square\r\n[sponsors-image]: https://opencollective.com/koajs/sponsors/badge.svg?style=flat-square\r\n[gitter-image]: https://img.shields.io/gitter/room/koajs/koa.svg?style=flat-square\r\n[gitter-url]: https://gitter.im/koajs/koa?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge\r\n[#koajs]: https://webchat.freenode.net/?channels=#koajs\r\n[pr-welcoming-image]: https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square\r\n[pr-welcoming-url]: https://github.com/koajs/koa/pull/new\r\n","readmeFilename":"Readme.md"}