{"_id":"@flexent/http-router","_rev":"30-09f87b602af7a8d7fa924649f74580e1","name":"@flexent/http-router","dist-tags":{"latest":"2.16.1"},"versions":{"2.0.0":{"name":"@flexent/http-router","version":"2.0.0","_id":"@flexent/http-router@2.0.0","maintainers":[{"name":"inca","email":"boris@okunskiy.name"}],"dist":{"shasum":"74ed1e22e276bfb2ae5016fe782e08ae9b850d38","tarball":"https://registry.npmjs.org/@flexent/http-router/-/http-router-2.0.0.tgz","fileCount":62,"integrity":"sha512-PD4k71lJntW5QUdZF0OBeQcbJYZM9gnCkcUWFee8S6rk5zMEocB0HCkMV4Pgui1zCG9/0pmuEDd7B/XeBUIVYA==","signatures":[{"sig":"MEUCIGRnJ/pqXs8/1h+aGwDk1GFGHA1XKjly9oQtVsG/1VbCAiEA5Jf3DPUNfAdYKMswTg9wdt5gdRFKw+gFhv5b2baFBrE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":85691},"type":"module","exports":{".":"./out/main/index.js"},"gitHead":"9d4ea7f2a13a8a0b6d80dca69c07a92de9814679","scripts":{"test":"NODE_ENV=test mocha"},"_npmUser":{"name":"inca","email":"boris@okunskiy.name"},"_npmVersion":"11.6.2","description":"Decorator-based routing for HTTP server","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"peerDependencies":{"airtight":"^5.7.2","mesh-ioc":"^4.3.1","mesh-config":"^1.3.4","reflect-utils":"^1.1.3","@flexent/errors":"^2.0.0","@flexent/logger":"^2.0.0","mesh-decorators":"^1.3.6","@flexent/metrics":"^2.0.0","reflect-metadata":"^0.2.2","@flexent/http-server":"^2.0.0","@flexent/pathmatcher":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/http-router_2.0.0_1776612442747_0.16376853648520262","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"@flexent/http-router","version":"2.0.1","author":{"name":"Boris Okunskiy"},"license":"MIT","_id":"@flexent/http-router@2.0.1","maintainers":[{"name":"inca","email":"boris@okunskiy.name"}],"dist":{"shasum":"680fb53c7af064305a9537a6a858cb4f1a2e6321","tarball":"https://registry.npmjs.org/@flexent/http-router/-/http-router-2.0.1.tgz","fileCount":62,"integrity":"sha512-N70hm1pENNa2G3GV1VOipfX9USV/4YYJDoIqotrI2nBv6GzWnhDGuN6tCRZOTxpHdFrflPrFsbXi5sTErXWjDg==","signatures":[{"sig":"MEYCIQDa5jG9QV83SA+LBSTYByN5kO4Cu/YJufF8cZRKJb9NAgIhAOASgi4mPK27TPhtG5nfNI7N0YqUshfQYPcIxL5u/B4t","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":85745},"type":"module","exports":{".":"./out/main/index.js"},"gitHead":"a2aa42c00e86ed5922c4addc4adfc71c3b2e3872","scripts":{"test":"NODE_ENV=test mocha"},"_npmUser":{"name":"inca","email":"boris@okunskiy.name"},"_npmVersion":"11.6.2","description":"Decorator-based routing for HTTP server","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"peerDependencies":{"airtight":"^5.7.2","mesh-ioc":"^4.3.1","mesh-config":"^1.3.4","reflect-utils":"^1.1.3","@flexent/errors":"^2.0.1","@flexent/logger":"^2.0.1","mesh-decorators":"^1.3.6","@flexent/metrics":"^2.0.1","reflect-metadata":"^0.2.2","@flexent/http-server":"^2.0.1","@flexent/pathmatcher":"^2.0.1"},"_npmOperationalInternal":{"tmp":"tmp/http-router_2.0.1_1776616442458_0.5169697475643551","host":"s3://npm-registry-packages-npm-production"}},"2.0.2":{"name":"@flexent/http-router","version":"2.0.2","author":{"name":"Boris Okunskiy"},"license":"MIT","_id":"@flexent/http-router@2.0.2","maintainers":[{"name":"inca","email":"boris@okunskiy.name"}],"dist":{"shasum":"bd37aca733da6a407c07a439827613199437e894","tarball":"https://registry.npmjs.org/@flexent/http-router/-/http-router-2.0.2.tgz","fileCount":62,"integrity":"sha512-NKYAyTplenw9i9NQTxxIPEEYxANtx3xLbOsaXSMk/fDzYWs2qUYGa26IIbdI9VZsm+B4x7HKbRn054UwkTTaHA==","signatures":[{"sig":"MEQCIEGU9Ccd7yQCpvy+/l7o3BOzQgUb1UH8odRbReC4kjNQAiBX8O+29jHDeU0Wg2Ijk5m0ZnJ2lVlD/oenPi6vWJdtlg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":85745},"type":"module","exports":{".":"./out/main/index.js"},"gitHead":"4589229e6fa474ba14814984c3d4a46d601a7f79","scripts":{"test":"NODE_ENV=test mocha"},"_npmUser":{"name":"inca","email":"boris@okunskiy.name"},"_npmVersion":"11.6.2","description":"Decorator-based routing for HTTP server","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"peerDependencies":{"airtight":"^5.7.2","mesh-ioc":"^4.3.1","mesh-config":"^1.3.4","reflect-utils":"^1.1.3","@flexent/errors":"^2.0.2","@flexent/logger":"^2.0.2","mesh-decorators":"^1.3.6","@flexent/metrics":"^2.0.2","reflect-metadata":"^0.2.2","@flexent/http-server":"^2.0.2","@flexent/pathmatcher":"^2.0.2"},"_npmOperationalInternal":{"tmp":"tmp/http-router_2.0.2_1777220059473_0.7348461909594559","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"@flexent/http-router","version":"2.1.0","author":{"name":"Boris Okunskiy"},"license":"MIT","_id":"@flexent/http-router@2.1.0","maintainers":[{"name":"inca","email":"boris@okunskiy.name"}],"dist":{"shasum":"86dd0cd5978df7a20accf1553276b4c1d6f7cd9e","tarball":"https://registry.npmjs.org/@flexent/http-router/-/http-router-2.1.0.tgz","fileCount":62,"integrity":"sha512-vKtrD4yY/rpI/apNCoabdKCiKjlmU/tZ+1uuuw5/XlRdcz31+efBu4Yo5VuYu4zfD9lcvWBJlDL/JoGwf+2Kdg==","signatures":[{"sig":"MEYCIQDh/wGBFndqKlEeGH58ZZNyK2/0pAeIcJmtxfTl/6mSGgIhAOR6lKrKNSQUpP1cS5cz80mXNeDlY9u/EREvHVQipH3r","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":85745},"type":"module","exports":{".":"./out/main/index.js"},"gitHead":"d75b8a889b6de43dd00a44968a6de7844c869d57","scripts":{"test":"NODE_ENV=test mocha"},"_npmUser":{"name":"inca","email":"boris@okunskiy.name"},"_npmVersion":"11.6.2","description":"Decorator-based routing for HTTP server","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"peerDependencies":{"airtight":"^5.7.2","mesh-ioc":"^4.3.1","mesh-config":"^1.3.4","reflect-utils":"^1.1.3","@flexent/errors":"^2.1.0","@flexent/logger":"^2.1.0","mesh-decorators":"^1.3.6","@flexent/metrics":"^2.1.0","reflect-metadata":"^0.2.2","@flexent/http-server":"^2.1.0","@flexent/pathmatcher":"^2.1.0"},"_npmOperationalInternal":{"tmp":"tmp/http-router_2.1.0_1777452499448_0.5723128084401858","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"@flexent/http-router","version":"2.2.0","author":{"name":"Boris Okunskiy"},"license":"MIT","_id":"@flexent/http-router@2.2.0","maintainers":[{"name":"inca","email":"boris@okunskiy.name"}],"dist":{"shasum":"6177f75e1b8f5d37210b43a6f0689c4d983b6f64","tarball":"https://registry.npmjs.org/@flexent/http-router/-/http-router-2.2.0.tgz","fileCount":62,"integrity":"sha512-+zV8lzOALJSoHyC8pmSYr6yIXJS9gVlfxkS/W/aKz0nvEvPC0MuTDbJueNOyJWLByhhWxxL0l4mr6SPlk+wZDQ==","signatures":[{"sig":"MEUCIGPy2fbHGkDox54r+E1+0GUR8Duy49ePgzYC0E3WvIqjAiEArES4H0z2McpSDMqQsVongQIR9qM1wPUP+/5QUPtiJnw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":85745},"type":"module","exports":{".":"./out/main/index.js"},"gitHead":"9676f68008b131e514553efa81178c0ce06c13a7","scripts":{"test":"NODE_ENV=test mocha"},"_npmUser":{"name":"inca","email":"boris@okunskiy.name"},"_npmVersion":"11.6.2","description":"Decorator-based routing for HTTP server","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"peerDependencies":{"airtight":"^5.7.2","mesh-ioc":"^4.3.1","mesh-config":"^1.3.4","reflect-utils":"^1.1.3","@flexent/errors":"^2.2.0","@flexent/logger":"^2.2.0","mesh-decorators":"^1.3.6","@flexent/metrics":"^2.2.0","reflect-metadata":"^0.2.2","@flexent/http-server":"^2.2.0","@flexent/pathmatcher":"^2.2.0"},"_npmOperationalInternal":{"tmp":"tmp/http-router_2.2.0_1777473999002_0.3339514872129683","host":"s3://npm-registry-packages-npm-production"}},"2.3.0":{"name":"@flexent/http-router","version":"2.3.0","author":{"name":"Boris Okunskiy"},"license":"MIT","_id":"@flexent/http-router@2.3.0","maintainers":[{"name":"inca","email":"boris@okunskiy.name"}],"dist":{"shasum":"8f77d21411214561c9b12737cea985e4f349f099","tarball":"https://registry.npmjs.org/@flexent/http-router/-/http-router-2.3.0.tgz","fileCount":62,"integrity":"sha512-6dKnUAy50Dg6Od6zYmbSFLnqV1Iek5GFl7BqZaENVTfLipk3MR9QO+jneU5ASBISm+0f1e24Cv5rZW8fe6ocmg==","signatures":[{"sig":"MEYCIQCJvVZ8uDO66Ok4zrZlZxgqqzCksVuo0hmRY2Gp+bfqsQIhAJu84GSuerGd8TthBPWgO5EmeXirmUT781to/2hCjCyl","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":85745},"type":"module","exports":{".":"./out/main/index.js"},"gitHead":"46265b8616de79f59c6cf8c937a41c490ff00369","scripts":{"test":"NODE_ENV=test mocha"},"_npmUser":{"name":"inca","email":"boris@okunskiy.name"},"_npmVersion":"11.6.2","description":"Decorator-based routing for HTTP server","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"peerDependencies":{"airtight":"^5.7.2","mesh-ioc":"^4.3.1","mesh-config":"^1.3.4","reflect-utils":"^1.1.3","@flexent/errors":"^2.3.0","@flexent/logger":"^2.3.0","mesh-decorators":"^1.3.6","@flexent/metrics":"^2.3.0","reflect-metadata":"^0.2.2","@flexent/http-server":"^2.3.0","@flexent/pathmatcher":"^2.3.0"},"_npmOperationalInternal":{"tmp":"tmp/http-router_2.3.0_1778066606958_0.636526895376559","host":"s3://npm-registry-packages-npm-production"}},"2.4.0":{"name":"@flexent/http-router","version":"2.4.0","author":{"name":"Boris Okunskiy"},"license":"MIT","_id":"@flexent/http-router@2.4.0","maintainers":[{"name":"inca","email":"boris@okunskiy.name"}],"dist":{"shasum":"2d9786256fc7fb5b203d6fc5ec6f25fb2cae29d0","tarball":"https://registry.npmjs.org/@flexent/http-router/-/http-router-2.4.0.tgz","fileCount":62,"integrity":"sha512-YXzJ4ePvZAPic9zbbEfLkibGnk/ztk+f/AAGuTzeFUnq7F7RPrFwE4bj+cd7ai+uEJVWm5WXHb0NDSm5vLwcpw==","signatures":[{"sig":"MEUCIFff2ay8oRuErlfhnqEwt8HK/+/1gR/ZNkPJc/t44GwlAiEAq+LJmLgQ3rRl0caaouBE6K2tfqvPt64T9e5EIgCUUO4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":85745},"type":"module","exports":{".":"./out/main/index.js"},"gitHead":"2edee890b0ca955d338867ff5278514bd29a4224","scripts":{"test":"NODE_ENV=test mocha"},"_npmUser":{"name":"inca","email":"boris@okunskiy.name"},"_npmVersion":"11.6.2","description":"Decorator-based routing for HTTP server","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"peerDependencies":{"airtight":"^5.7.2","mesh-ioc":"^4.3.1","mesh-config":"^1.3.4","reflect-utils":"^1.1.3","@flexent/errors":"^2.4.0","@flexent/logger":"^2.4.0","mesh-decorators":"^1.3.6","@flexent/metrics":"^2.4.0","reflect-metadata":"^0.2.2","@flexent/http-server":"^2.4.0","@flexent/pathmatcher":"^2.4.0"},"_npmOperationalInternal":{"tmp":"tmp/http-router_2.4.0_1778075126622_0.4810729010555763","host":"s3://npm-registry-packages-npm-production"}},"2.5.0":{"name":"@flexent/http-router","version":"2.5.0","author":{"name":"Boris Okunskiy"},"license":"MIT","_id":"@flexent/http-router@2.5.0","maintainers":[{"name":"inca","email":"boris@okunskiy.name"}],"dist":{"shasum":"3144b2bfe8eb071a2c49054db3b306844ec46d8e","tarball":"https://registry.npmjs.org/@flexent/http-router/-/http-router-2.5.0.tgz","fileCount":62,"integrity":"sha512-1IB5/iFb/uTMCi4S7HipaTKRj0RmLrIgeMKDB/8ooA+EO+TJghz7+cKX8PFfBk1yM/Ge97IpPPsxVC859K+TpQ==","signatures":[{"sig":"MEYCIQDjx4+GM5FEXyq4cN5JV8YDNv0HyNzVAHFZR0lkJEaawgIhAMw/6pCFsNmq3PUKWRYf3sWO0vTClhsucQVsO1tiYyPm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":85745},"type":"module","exports":{".":"./out/main/index.js"},"gitHead":"197647a841312d55eafd93e37ab3c6b91e3dd190","scripts":{"test":"NODE_ENV=test mocha"},"_npmUser":{"name":"inca","email":"boris@okunskiy.name"},"_npmVersion":"11.6.2","description":"Decorator-based routing for HTTP server","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"peerDependencies":{"airtight":"^5.7.2","mesh-ioc":"^4.3.1","mesh-config":"^1.3.4","reflect-utils":"^1.1.3","@flexent/errors":"^2.5.0","@flexent/logger":"^2.5.0","mesh-decorators":"^1.3.6","@flexent/metrics":"^2.5.0","reflect-metadata":"^0.2.2","@flexent/http-server":"^2.5.0","@flexent/pathmatcher":"^2.5.0"},"_npmOperationalInternal":{"tmp":"tmp/http-router_2.5.0_1778087905195_0.96482159859404","host":"s3://npm-registry-packages-npm-production"}},"2.5.1":{"name":"@flexent/http-router","version":"2.5.1","author":{"name":"Boris Okunskiy"},"license":"MIT","_id":"@flexent/http-router@2.5.1","maintainers":[{"name":"inca","email":"boris@okunskiy.name"}],"dist":{"shasum":"97fa89b5e7096ad511ffe195c4edcfecdd0c4db4","tarball":"https://registry.npmjs.org/@flexent/http-router/-/http-router-2.5.1.tgz","fileCount":62,"integrity":"sha512-xj4Ek+X98iHChC16tXRulsxmr3tRy9av6fQtgJI2tBsb1aH+wleYra2QivJf6CmD7tsrhrCUfnWnw36e0Rn1TA==","signatures":[{"sig":"MEUCIQC6dhMu2NQU7sd3qNO1KSn/Ui+XqXllicqA4O1Iq0j5OwIgSPYt+DQDVq1X5GT6o70v68ynIQEjW2R6nFBV+i81ifI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":85745},"type":"module","exports":{".":"./out/main/index.js"},"gitHead":"356c03455acc3626c7569562f536d77aebb46a05","scripts":{"test":"NODE_ENV=test mocha"},"_npmUser":{"name":"inca","email":"boris@okunskiy.name"},"_npmVersion":"11.6.2","description":"Decorator-based routing for HTTP server","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"peerDependencies":{"airtight":"^5.7.2","mesh-ioc":"^4.3.1","mesh-config":"^1.3.4","reflect-utils":"^1.1.3","@flexent/errors":"^2.5.1","@flexent/logger":"^2.5.1","mesh-decorators":"^1.3.6","@flexent/metrics":"^2.5.1","reflect-metadata":"^0.2.2","@flexent/http-server":"^2.5.1","@flexent/pathmatcher":"^2.5.1"},"_npmOperationalInternal":{"tmp":"tmp/http-router_2.5.1_1778863055727_0.5714709958318502","host":"s3://npm-registry-packages-npm-production"}},"2.6.0":{"name":"@flexent/http-router","version":"2.6.0","author":{"name":"Boris Okunskiy"},"license":"MIT","_id":"@flexent/http-router@2.6.0","maintainers":[{"name":"inca","email":"boris@okunskiy.name"}],"dist":{"shasum":"70a63ace37556dcc84ac6c90a3a7d9f8d21bba16","tarball":"https://registry.npmjs.org/@flexent/http-router/-/http-router-2.6.0.tgz","fileCount":62,"integrity":"sha512-t+Wmk8H5E5W0qMA8p3TDrTfyN3CicaavPfUKz6VSvBK9F9E6JOfJd9fhbByWoLDKJw+WfbYjSP7U0HpKDo/bpw==","signatures":[{"sig":"MEUCIQDf7ic0WUhAZmHXlEDuytfvOj7ArCL5GZG21YlXUbkQfAIgH/3WLqgDczAG+eXw/vaXML1rIBL2/8TOOAm5IsO0XWY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":86094},"type":"module","exports":{".":"./out/main/index.js"},"gitHead":"ded77e4bf9fb200b805d9ef5f7e65d249a0310f5","scripts":{"test":"NODE_ENV=test mocha"},"_npmUser":{"name":"inca","email":"boris@okunskiy.name"},"_npmVersion":"11.6.2","description":"Decorator-based routing for HTTP server","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"peerDependencies":{"airtight":"^5.7.2","mesh-ioc":"^4.3.1","mesh-config":"^1.3.4","reflect-utils":"^1.1.3","@flexent/errors":"^2.6.0","@flexent/logger":"^2.6.0","mesh-decorators":"^1.3.6","@flexent/metrics":"^2.6.0","reflect-metadata":"^0.2.2","@flexent/http-server":"^2.6.0","@flexent/pathmatcher":"^2.6.0"},"_npmOperationalInternal":{"tmp":"tmp/http-router_2.6.0_1779185202194_0.24394984455938684","host":"s3://npm-registry-packages-npm-production"}},"2.6.1":{"name":"@flexent/http-router","version":"2.6.1","author":{"name":"Boris Okunskiy"},"license":"MIT","_id":"@flexent/http-router@2.6.1","maintainers":[{"name":"inca","email":"boris@okunskiy.name"}],"dist":{"shasum":"a3bd80b65b8bf006c92584185b24be442f9236d9","tarball":"https://registry.npmjs.org/@flexent/http-router/-/http-router-2.6.1.tgz","fileCount":62,"integrity":"sha512-BnfIEIQC7gsXsn/W6tOUlBZlx7Vft9vQN7S6Lxr8OrQyQHS/8+7t6/o903v2DTjNDSpyXQ0r6yaMLTf3Cp3HAA==","signatures":[{"sig":"MEYCIQClrnBFQ4k+p+mp5uqdve5iDzUC7DErQbpvpmwH+V4X7gIhAKHoN9W4DpKE+trMeYsh4NbN5OrcWRAtd51NCGnLJo0I","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":86094},"type":"module","exports":{".":"./out/main/index.js"},"gitHead":"e4a5554aaca4384276806295788340dffac3194e","scripts":{"test":"NODE_ENV=test mocha"},"_npmUser":{"name":"inca","email":"boris@okunskiy.name"},"_npmVersion":"11.6.2","description":"Decorator-based routing for HTTP server","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"peerDependencies":{"airtight":"^5.7.2","mesh-ioc":"^4.3.1","mesh-config":"^1.3.4","reflect-utils":"^1.1.3","@flexent/errors":"^2.6.1","@flexent/logger":"^2.6.1","mesh-decorators":"^1.3.6","@flexent/metrics":"^2.6.1","reflect-metadata":"^0.2.2","@flexent/http-server":"^2.6.1","@flexent/pathmatcher":"^2.6.1"},"_npmOperationalInternal":{"tmp":"tmp/http-router_2.6.1_1779187450943_0.1707043799407839","host":"s3://npm-registry-packages-npm-production"}},"2.6.2":{"name":"@flexent/http-router","version":"2.6.2","author":{"name":"Boris Okunskiy"},"license":"MIT","_id":"@flexent/http-router@2.6.2","maintainers":[{"name":"inca","email":"boris@okunskiy.name"}],"dist":{"shasum":"1b3b241966bb00eafc0326f3b632d3df083a3214","tarball":"https://registry.npmjs.org/@flexent/http-router/-/http-router-2.6.2.tgz","fileCount":62,"integrity":"sha512-q3NFFnquea3zEKEUdVWnnabpoqb83GitHWrWhJKOyM5i5SpYQbt8x2eTCWf8KLshmUs2Y9qKuC+HfiCNKbe4Dg==","signatures":[{"sig":"MEUCIGq4wg48r7PegzoPsu9JIVf4beHs6ACE0WRUCEtaxLvvAiEA9GZ4h1SK9c8XVhvWATiRyU7v6/rc8nuCdWXq+CcQteQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":86094},"type":"module","exports":{".":"./out/main/index.js"},"gitHead":"fa10eb9153be1fa5e093ab7010df5364c98aa0a3","scripts":{"test":"NODE_ENV=test mocha"},"_npmUser":{"name":"inca","email":"boris@okunskiy.name"},"_npmVersion":"11.6.2","description":"Decorator-based routing for HTTP server","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"peerDependencies":{"airtight":"^5.7.2","mesh-ioc":"^4.3.1","mesh-config":"^1.3.4","reflect-utils":"^1.1.3","@flexent/errors":"^2.6.2","@flexent/logger":"^2.6.2","mesh-decorators":"^1.3.6","@flexent/metrics":"^2.6.2","reflect-metadata":"^0.2.2","@flexent/http-server":"^2.6.2","@flexent/pathmatcher":"^2.6.2"},"_npmOperationalInternal":{"tmp":"tmp/http-router_2.6.2_1779188275251_0.8519824232686635","host":"s3://npm-registry-packages-npm-production"}},"2.6.3":{"name":"@flexent/http-router","version":"2.6.3","author":{"name":"Boris Okunskiy"},"license":"MIT","_id":"@flexent/http-router@2.6.3","maintainers":[{"name":"inca","email":"boris@okunskiy.name"}],"dist":{"shasum":"a485088f1a25cc72441d1978388966703e771ada","tarball":"https://registry.npmjs.org/@flexent/http-router/-/http-router-2.6.3.tgz","fileCount":62,"integrity":"sha512-u7yQaCMADI1JvtHEtpyPaBtJu7tnup1S8iBX1uRgTyfJa5m23QgUiqnJjy/XjACeDqWhNXz2SaqNJeq9RPcIAg==","signatures":[{"sig":"MEYCIQCv5EgYpSSpMClmqkcItDHgwc3PPAwU0oEaINNUCoEitAIhAKMkF6yMxdfYf3XpfK3VnGjOcYMhXFD/m3RTkjFoASYR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":86094},"type":"module","exports":{".":"./out/main/index.js"},"gitHead":"80e62e81e88cd3109be8f35ae0a6be6f574cf1fe","scripts":{"test":"NODE_ENV=test mocha"},"_npmUser":{"name":"inca","email":"boris@okunskiy.name"},"_npmVersion":"11.6.2","description":"Decorator-based routing for HTTP server","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"peerDependencies":{"airtight":"^5.7.2","mesh-ioc":"^4.3.1","mesh-config":"^1.3.4","reflect-utils":"^1.1.3","@flexent/errors":"^2.6.3","@flexent/logger":"^2.6.3","mesh-decorators":"^1.3.6","@flexent/metrics":"^2.6.3","reflect-metadata":"^0.2.2","@flexent/http-server":"^2.6.3","@flexent/pathmatcher":"^2.6.3"},"_npmOperationalInternal":{"tmp":"tmp/http-router_2.6.3_1779201652603_0.7500720446739695","host":"s3://npm-registry-packages-npm-production"}},"2.6.5":{"name":"@flexent/http-router","version":"2.6.5","author":{"name":"Boris Okunskiy"},"license":"MIT","_id":"@flexent/http-router@2.6.5","maintainers":[{"name":"inca","email":"boris@okunskiy.name"}],"dist":{"shasum":"df3da6fdd6f20ef52a12edb7633b79ff21ad71ef","tarball":"https://registry.npmjs.org/@flexent/http-router/-/http-router-2.6.5.tgz","fileCount":62,"integrity":"sha512-UodguQnyoseXg7mlTn44Ee2Q83t4pJK4XrJaYBF2b13N9pe3hbDXR7Op0Tr4LAGGq9whBTVjOtq0AatctdThqw==","signatures":[{"sig":"MEUCIEg0kNVtJh1F42fTyJqCGRly8GtxgoND108AAlyIfpkkAiEAu+D99HpMu0gcRryk/9vTgMig69AHnQRwgIZkgg+fKls=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":86094},"type":"module","exports":{".":"./out/main/index.js"},"gitHead":"d46d092442530dbb627ae4622bf0e677322a5eff","scripts":{"test":"NODE_ENV=test mocha"},"_npmUser":{"name":"inca","email":"boris@okunskiy.name"},"_npmVersion":"11.6.2","description":"Decorator-based routing for HTTP server","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"peerDependencies":{"airtight":"^5.7.2","mesh-ioc":"^4.3.1","mesh-config":"^1.3.4","reflect-utils":"^1.1.3","@flexent/errors":"^2.6.5","@flexent/logger":"^2.6.5","mesh-decorators":"^1.3.6","@flexent/metrics":"^2.6.5","reflect-metadata":"^0.2.2","@flexent/http-server":"^2.6.5","@flexent/pathmatcher":"^2.6.5"},"_npmOperationalInternal":{"tmp":"tmp/http-router_2.6.5_1779364731194_0.2001056312059728","host":"s3://npm-registry-packages-npm-production"}},"2.7.0":{"name":"@flexent/http-router","version":"2.7.0","author":{"name":"Boris Okunskiy"},"license":"MIT","_id":"@flexent/http-router@2.7.0","maintainers":[{"name":"inca","email":"boris@okunskiy.name"}],"dist":{"shasum":"e4f58dcc4b3f60bc6a5c82f30abbf5c75ffcc00d","tarball":"https://registry.npmjs.org/@flexent/http-router/-/http-router-2.7.0.tgz","fileCount":62,"integrity":"sha512-bD5tRzFLFtMjliszEVPY6UyI0Pu9U47CYaIrzFnEeSx71LkkEM3yMJ7sW8y2NwJnIbqb75V3YR2uleqW6y8zBQ==","signatures":[{"sig":"MEUCIC4I+IXF+K0toyeKP3q3qYNyjXrKOG1KNB8ZEbEcVaSvAiEAjN7Wo1cTLeYeJ1dIs4yFj2Em34d1Wc11N8EgorajiMM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":86094},"type":"module","exports":{".":"./out/main/index.js"},"gitHead":"70ea5822b9fe526e1fa9d7816d3e149c12c5bc82","scripts":{"test":"NODE_ENV=test mocha"},"_npmUser":{"name":"inca","email":"boris@okunskiy.name"},"_npmVersion":"11.12.1","description":"Decorator-based routing for HTTP server","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"peerDependencies":{"airtight":"^5.7.2","mesh-ioc":"^4.3.1","mesh-config":"^1.3.4","reflect-utils":"^1.1.3","@flexent/errors":"^2.7.0","@flexent/logger":"^2.7.0","mesh-decorators":"^1.3.6","@flexent/metrics":"^2.7.0","reflect-metadata":"^0.2.2","@flexent/http-server":"^2.7.0","@flexent/pathmatcher":"^2.7.0"},"_npmOperationalInternal":{"tmp":"tmp/http-router_2.7.0_1780211509060_0.03569102320233619","host":"s3://npm-registry-packages-npm-production"}},"2.8.0":{"name":"@flexent/http-router","version":"2.8.0","author":{"name":"Boris Okunskiy"},"license":"MIT","_id":"@flexent/http-router@2.8.0","maintainers":[{"name":"inca","email":"boris@okunskiy.name"}],"dist":{"shasum":"e3e947ef0d130515cad03a9e990de361e92b1552","tarball":"https://registry.npmjs.org/@flexent/http-router/-/http-router-2.8.0.tgz","fileCount":62,"integrity":"sha512-38gOK7fSV1m+jw6J6BUzdOCf/IyYIiC966xMrVuhMayuq1HHqCH0KG61bJlSQMpahYKDiGFqGrHEtVA8lj2/Lw==","signatures":[{"sig":"MEUCIQCecmNC9F0QKqrisfJeGC9fSoOC3BGFhuEF68rdG/i+iAIgUh3mPIBmNCTWqXKU5+oCaS4h0lqiProJZJnQcO2HPWg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":86094},"type":"module","exports":{".":"./out/main/index.js"},"gitHead":"b2120cd2bf2124e7628a3bd4e7e83caa37cf0b58","scripts":{"test":"NODE_ENV=test mocha"},"_npmUser":{"name":"inca","email":"boris@okunskiy.name"},"_npmVersion":"11.6.2","description":"Decorator-based routing for HTTP server","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"peerDependencies":{"airtight":"^5.7.2","mesh-ioc":"^4.3.1","mesh-config":"^1.3.4","reflect-utils":"^1.1.3","@flexent/errors":"^2.8.0","@flexent/logger":"^2.8.0","mesh-decorators":"^1.3.6","@flexent/metrics":"^2.8.0","reflect-metadata":"^0.2.2","@flexent/http-server":"^2.8.0","@flexent/pathmatcher":"^2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/http-router_2.8.0_1781718701444_0.7350600685222892","host":"s3://npm-registry-packages-npm-production"}},"2.9.0":{"name":"@flexent/http-router","version":"2.9.0","author":{"name":"Boris Okunskiy"},"license":"MIT","_id":"@flexent/http-router@2.9.0","maintainers":[{"name":"inca","email":"boris@okunskiy.name"}],"dist":{"shasum":"c3e190c9d95fa8628e27382c426cd161981792ff","tarball":"https://registry.npmjs.org/@flexent/http-router/-/http-router-2.9.0.tgz","fileCount":62,"integrity":"sha512-vnTbAGD6FdVlg4iLpm5XQLAzkqLKzd5GLH/634vKSJop/5mcHYSh6xWOrpCfvD2RGT3jl92ynu1+MSshw0r4NA==","signatures":[{"sig":"MEUCIQC4MICNBPpAt+6rptmUOmH+AMNjI62WSFkXhhVd8LfGvwIgJGR+J1i8oc5aMNsZrGkY4vvSukt1MzjxPYgvVQOQjOw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":86094},"type":"module","exports":{".":"./out/main/index.js"},"gitHead":"1ef66619f93436c697ad0db88ae624fcb97f9c9f","scripts":{"test":"NODE_ENV=test mocha"},"_npmUser":{"name":"inca","email":"boris@okunskiy.name"},"_npmVersion":"11.6.2","description":"Decorator-based routing for HTTP server","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"peerDependencies":{"airtight":"^5.7.2","mesh-ioc":"^4.3.1","mesh-config":"^1.3.4","reflect-utils":"^1.1.3","@flexent/errors":"^2.9.0","@flexent/logger":"^2.9.0","mesh-decorators":"^1.3.6","@flexent/metrics":"^2.9.0","reflect-metadata":"^0.2.2","@flexent/http-server":"^2.9.0","@flexent/pathmatcher":"^2.9.0"},"_npmOperationalInternal":{"tmp":"tmp/http-router_2.9.0_1781770228661_0.8480790178932622","host":"s3://npm-registry-packages-npm-production"}},"2.9.1":{"name":"@flexent/http-router","version":"2.9.1","author":{"name":"Boris Okunskiy"},"license":"MIT","_id":"@flexent/http-router@2.9.1","maintainers":[{"name":"inca","email":"boris@okunskiy.name"}],"dist":{"shasum":"78f76fb71af719aa1d29c80e4ada73c4be4918c3","tarball":"https://registry.npmjs.org/@flexent/http-router/-/http-router-2.9.1.tgz","fileCount":62,"integrity":"sha512-EPj3beV3eDEhxSgpUJqni5vksTwRe8fEs4G/2cU+/mkL+D02PH0oeIiObj43Pe96G9YqOVkCsxwAAw5WSI81UA==","signatures":[{"sig":"MEQCIDKMOodCKABwh8/ISafwhNMLCSSwQhI0QQOzUSBf675QAiA8V6PO3f5qA+mAlHUr81P3QEuqtBELz/Qb7TBqY0bLqg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":86094},"type":"module","exports":{".":"./out/main/index.js"},"gitHead":"c91806cc9372e51c5565e6745aac7c4705cd5163","scripts":{"test":"NODE_ENV=test mocha"},"_npmUser":{"name":"inca","email":"boris@okunskiy.name"},"_npmVersion":"11.6.2","description":"Decorator-based routing for HTTP server","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"peerDependencies":{"airtight":"^5.7.2","mesh-ioc":"^4.3.1","mesh-config":"^1.3.4","reflect-utils":"^1.1.3","@flexent/errors":"^2.9.1","@flexent/logger":"^2.9.1","mesh-decorators":"^1.3.6","@flexent/metrics":"^2.9.1","reflect-metadata":"^0.2.2","@flexent/http-server":"^2.9.1","@flexent/pathmatcher":"^2.9.1"},"_npmOperationalInternal":{"tmp":"tmp/http-router_2.9.1_1781792053277_0.7922027434647099","host":"s3://npm-registry-packages-npm-production"}},"2.9.3":{"name":"@flexent/http-router","version":"2.9.3","author":{"name":"Boris Okunskiy"},"license":"MIT","_id":"@flexent/http-router@2.9.3","maintainers":[{"name":"inca","email":"boris@okunskiy.name"}],"dist":{"shasum":"f7758644a2b33943d31b2ddb26dafaa7f92cfe7b","tarball":"https://registry.npmjs.org/@flexent/http-router/-/http-router-2.9.3.tgz","fileCount":62,"integrity":"sha512-hTIEGprhOfbdB99+viLVkYOuuIYeJty8Mro4ZvWtMh5ca3MME78FeaYE/TWEljvEkj1m7gENfstwp54JaDTKsg==","signatures":[{"sig":"MEUCIQDrYX66mct7vI5weKaALAJBEeR1vOkJOAs02eYFNiyrAAIgPKR207PwFw/GjbkEuSxE4IeVlsz4xAa0FBLigC/m3CQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":86094},"type":"module","exports":{".":"./out/main/index.js"},"gitHead":"03881db01886ad6f84a1d9dbe75eda1e84b79d4d","scripts":{"test":"NODE_ENV=test mocha"},"_npmUser":{"name":"inca","email":"boris@okunskiy.name"},"_npmVersion":"11.6.2","description":"Decorator-based routing for HTTP server","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"peerDependencies":{"airtight":"^5.7.2","mesh-ioc":"^4.3.1","mesh-config":"^1.3.4","reflect-utils":"^1.1.3","@flexent/errors":"^2.9.3","@flexent/logger":"^2.9.3","mesh-decorators":"^1.3.6","@flexent/metrics":"^2.9.3","reflect-metadata":"^0.2.2","@flexent/http-server":"^2.9.3","@flexent/pathmatcher":"^2.9.3"},"_npmOperationalInternal":{"tmp":"tmp/http-router_2.9.3_1781795029624_0.0039214277230348316","host":"s3://npm-registry-packages-npm-production"}},"2.9.4":{"name":"@flexent/http-router","version":"2.9.4","author":{"name":"Boris Okunskiy"},"license":"MIT","_id":"@flexent/http-router@2.9.4","maintainers":[{"name":"inca","email":"boris@okunskiy.name"}],"dist":{"shasum":"d48a375ef799e51ca5d96ec48a13a20e91ae591d","tarball":"https://registry.npmjs.org/@flexent/http-router/-/http-router-2.9.4.tgz","fileCount":62,"integrity":"sha512-Btz2nxDJtb4Fv1gfkWrkM6TGjYLFKnxMV17IDtARy3MUxIEpin0IKIvaLBBGMoznDgOJMGjTqMnQVnQsTWjMUg==","signatures":[{"sig":"MEUCIQDMkTvPm4Wzo8HgR/ZoBvYgHQPLxWPGvn64FF0fpw/xCwIgD6tuupqIVZRuXK7NvxDk9gLJMRXAXc8oGgYUz/Yi8Ac=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":86094},"type":"module","exports":{".":"./out/main/index.js"},"gitHead":"7480a3029f189bf56d75b9e367c274af3d0d4b86","scripts":{"test":"NODE_ENV=test mocha"},"_npmUser":{"name":"inca","email":"boris@okunskiy.name"},"_npmVersion":"11.6.2","description":"Decorator-based routing for HTTP server","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"peerDependencies":{"airtight":"^5.7.2","mesh-ioc":"^4.3.1","mesh-config":"^1.3.4","reflect-utils":"^1.1.3","@flexent/errors":"^2.9.4","@flexent/logger":"^2.9.4","mesh-decorators":"^1.3.6","@flexent/metrics":"^2.9.4","reflect-metadata":"^0.2.2","@flexent/http-server":"^2.9.4","@flexent/pathmatcher":"^2.9.4"},"_npmOperationalInternal":{"tmp":"tmp/http-router_2.9.4_1781795863273_0.8668556179829787","host":"s3://npm-registry-packages-npm-production"}},"2.9.5":{"name":"@flexent/http-router","version":"2.9.5","author":{"name":"Boris Okunskiy"},"license":"MIT","_id":"@flexent/http-router@2.9.5","maintainers":[{"name":"inca","email":"boris@okunskiy.name"}],"dist":{"shasum":"8247a2a8a7fa4d1798089cb1c871b344acaaae4d","tarball":"https://registry.npmjs.org/@flexent/http-router/-/http-router-2.9.5.tgz","fileCount":62,"integrity":"sha512-6wvQ+fBxpRrimGDuT9mI5mbfl8MNvxrmIHipkJk1nej7ilnfQiyqjsXsKeDH8g7vXE0ScGGx7wGzAZO9JJ2tTw==","signatures":[{"sig":"MEUCIG3nT9LoysQ67vO7Vp7utGALcZafsgkvlueL8kGykrzqAiEAzwjBK0vII/zVu9XOaONKfY5Xi2UkZQ+dsrly1pIMQSg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":86094},"type":"module","exports":{".":"./out/main/index.js"},"gitHead":"f3411fea81e860c11a0a05aa9f423dea9d381b3d","scripts":{"test":"NODE_ENV=test mocha"},"_npmUser":{"name":"inca","email":"boris@okunskiy.name"},"_npmVersion":"11.6.2","description":"Decorator-based routing for HTTP server","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"peerDependencies":{"airtight":"^5.7.2","mesh-ioc":"^4.3.1","mesh-config":"^1.3.4","reflect-utils":"^1.1.3","@flexent/errors":"^2.9.5","@flexent/logger":"^2.9.5","mesh-decorators":"^1.3.6","@flexent/metrics":"^2.9.5","reflect-metadata":"^0.2.2","@flexent/http-server":"^2.9.5","@flexent/pathmatcher":"^2.9.5"},"_npmOperationalInternal":{"tmp":"tmp/http-router_2.9.5_1782219807784_0.7557402868663967","host":"s3://npm-registry-packages-npm-production"}},"2.10.0":{"name":"@flexent/http-router","version":"2.10.0","author":{"name":"Boris Okunskiy"},"license":"MIT","_id":"@flexent/http-router@2.10.0","maintainers":[{"name":"inca","email":"boris@okunskiy.name"}],"dist":{"shasum":"1aa5e71b4e5613f14c92d18a2fd8cea8be224dfb","tarball":"https://registry.npmjs.org/@flexent/http-router/-/http-router-2.10.0.tgz","fileCount":62,"integrity":"sha512-mG+V3SXDWXSbAJfFievD6YR7CQxDooqOlPTDoZMWC7PuezcqDAiuYMSQBVBzTUXz6dizUUtr6uwM6fUGR70hNQ==","signatures":[{"sig":"MEQCICOOrC+LZgus9rG2A5zhvG//+nOgTTjNZD8CGyOptBALAiAi1G7mLE571L2LA1VVPD/XsVlPGEDclt/YcxwE8ICMjA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":86100},"type":"module","exports":{".":"./out/main/index.js"},"gitHead":"4d11ec70cf0204bcb1b67b14157389e4b1df6514","scripts":{"test":"NODE_ENV=test mocha"},"_npmUser":{"name":"inca","email":"boris@okunskiy.name"},"_npmVersion":"11.6.2","description":"Decorator-based routing for HTTP server","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"peerDependencies":{"airtight":"^5.7.2","mesh-ioc":"^4.3.1","mesh-config":"^1.3.4","reflect-utils":"^1.1.3","@flexent/errors":"^2.10.0","@flexent/logger":"^2.10.0","mesh-decorators":"^1.3.6","@flexent/metrics":"^2.10.0","reflect-metadata":"^0.2.2","@flexent/http-server":"^2.10.0","@flexent/pathmatcher":"^2.10.0"},"_npmOperationalInternal":{"tmp":"tmp/http-router_2.10.0_1782806865544_0.5236376921682606","host":"s3://npm-registry-packages-npm-production"}},"2.11.0":{"name":"@flexent/http-router","version":"2.11.0","author":{"name":"Boris Okunskiy"},"license":"MIT","_id":"@flexent/http-router@2.11.0","maintainers":[{"name":"inca","email":"boris@okunskiy.name"}],"dist":{"shasum":"4673eb5c2edf14e24b7492cd15609f54b9156ded","tarball":"https://registry.npmjs.org/@flexent/http-router/-/http-router-2.11.0.tgz","fileCount":62,"integrity":"sha512-h7zrk/gTpthjdvimeTPjoe+YYAaWQCojgh8cWuZ8eVyK84aYFPdQ9lhct0d0Hpefi4S4BlVvYkKc/1mo8TUueQ==","signatures":[{"sig":"MEUCIQDC99KGIyN/5/Rqd7J1+uiNOD3XdT+Z1lN/5mZt2BUdRwIgLO9BhuExAAjl5aD3DkNFDvIyal84jXGEMeOOrq/3GpU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":86100},"type":"module","exports":{".":"./out/main/index.js"},"gitHead":"decb5f5bc87b354bda7a73e7c65f089613336951","scripts":{"test":"NODE_ENV=test mocha"},"_npmUser":{"name":"inca","email":"boris@okunskiy.name"},"_npmVersion":"11.6.2","description":"Decorator-based routing for HTTP server","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"peerDependencies":{"airtight":"^5.7.2","mesh-ioc":"^4.3.1","mesh-config":"^1.3.4","reflect-utils":"^1.1.3","@flexent/errors":"^2.11.0","@flexent/logger":"^2.11.0","mesh-decorators":"^1.3.6","@flexent/metrics":"^2.11.0","reflect-metadata":"^0.2.2","@flexent/http-server":"^2.11.0","@flexent/pathmatcher":"^2.11.0"},"_npmOperationalInternal":{"tmp":"tmp/http-router_2.11.0_1783604286546_0.3448193688382861","host":"s3://npm-registry-packages-npm-production"}},"2.12.0":{"name":"@flexent/http-router","version":"2.12.0","author":{"name":"Boris Okunskiy"},"license":"MIT","_id":"@flexent/http-router@2.12.0","maintainers":[{"name":"inca","email":"boris@okunskiy.name"}],"dist":{"shasum":"d58006f37c1d99c8d0ab870fa196c4874afa7643","tarball":"https://registry.npmjs.org/@flexent/http-router/-/http-router-2.12.0.tgz","fileCount":62,"integrity":"sha512-xxi60efuZwz6gDX6KD8OCGJ8+wjdr+ww4+ycxvtGSW7vMZo9Csm9ktUfv3/IeIAtSpN5YPplvyFXr76EDsxHuA==","signatures":[{"sig":"MEYCIQDwc1Y9hEdnnL4e3+62zk5giqJx8xOJMFAAjf4yTpk5bgIhAN206UghooltbVBywdY+XlP5Ol6Kvg0Ee26XsasgXesl","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":86100},"type":"module","exports":{".":"./out/main/index.js"},"gitHead":"e4000a06808eb667d0d8bb93abfd4e0a3db88f36","scripts":{"test":"NODE_ENV=test mocha"},"_npmUser":{"name":"inca","email":"boris@okunskiy.name"},"_npmVersion":"11.6.2","description":"Decorator-based routing for HTTP server","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"peerDependencies":{"airtight":"^5.7.2","mesh-ioc":"^4.3.1","mesh-config":"^1.3.4","reflect-utils":"^1.1.3","@flexent/errors":"^2.12.0","@flexent/logger":"^2.12.0","mesh-decorators":"^1.3.6","@flexent/metrics":"^2.12.0","reflect-metadata":"^0.2.2","@flexent/http-server":"^2.12.0","@flexent/pathmatcher":"^2.12.0"},"_npmOperationalInternal":{"tmp":"tmp/http-router_2.12.0_1783698516642_0.8640447958389876","host":"s3://npm-registry-packages-npm-production"}},"2.14.0":{"name":"@flexent/http-router","version":"2.14.0","author":{"name":"Boris Okunskiy"},"license":"MIT","_id":"@flexent/http-router@2.14.0","maintainers":[{"name":"inca","email":"boris@okunskiy.name"}],"dist":{"shasum":"56ed7cb5cc908501f55de1cc772ca33d6556760d","tarball":"https://registry.npmjs.org/@flexent/http-router/-/http-router-2.14.0.tgz","fileCount":62,"integrity":"sha512-PsqLz1+vM1GcDu/pwr2sylJfAtvjxVXWLGq/KDi5SnQtbhn27U3E7bYCqzDj02o2CqtFef9IP2ZQ4Q9fE6f81w==","signatures":[{"sig":"MEUCIGgz7HkL/cZifUcxm69pZkejpHXLYSPm0K/TQIyBSUmZAiEA2dV4S/bl0rUUG8BYb5v7TkoBJe9IOgaTXbr0YtRYV90=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":86100},"type":"module","exports":{".":"./out/main/index.js"},"gitHead":"18e1f6d7f5658e529ac6baf3e564185a52cdfbe5","scripts":{"test":"NODE_ENV=test mocha"},"_npmUser":{"name":"inca","email":"boris@okunskiy.name"},"_npmVersion":"11.6.2","description":"Decorator-based routing for HTTP server","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"peerDependencies":{"airtight":"^5.7.2","mesh-ioc":"^4.3.1","mesh-config":"^1.3.4","reflect-utils":"^1.1.3","@flexent/errors":"^2.14.0","@flexent/logger":"^2.14.0","mesh-decorators":"^1.3.6","@flexent/metrics":"^2.14.0","reflect-metadata":"^0.2.2","@flexent/http-server":"^2.14.0","@flexent/pathmatcher":"^2.14.0"},"_npmOperationalInternal":{"tmp":"tmp/http-router_2.14.0_1783702778891_0.23325660843985396","host":"s3://npm-registry-packages-npm-production"}},"2.14.1":{"name":"@flexent/http-router","version":"2.14.1","author":{"name":"Boris Okunskiy"},"license":"MIT","_id":"@flexent/http-router@2.14.1","maintainers":[{"name":"inca","email":"boris@okunskiy.name"}],"dist":{"shasum":"2d7badc4ae34dd62ce1b8991e944ea07a6604603","tarball":"https://registry.npmjs.org/@flexent/http-router/-/http-router-2.14.1.tgz","fileCount":62,"integrity":"sha512-sb7H1cGv8uv9pbar9z80x/3v5VnvEvIYsjkBLEX1lcmSQ1yFhatoCI7Xtcmyhym1e0EM2OhHgFd+P+f/gMAoHg==","signatures":[{"sig":"MEYCIQDxCF8ko3gwFoquMLCUlwpsCXSnDS7vUggspleMqk0H6wIhAJN6q94fCvIgOT+Azni5v0+a31RCDPFtlRGKtGduw4r+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":86100},"type":"module","exports":{".":"./out/main/index.js"},"gitHead":"2aeaa74c428bf8e206cd1fa4ffec95ac36e46594","scripts":{"test":"NODE_ENV=test mocha"},"_npmUser":{"name":"inca","email":"boris@okunskiy.name"},"_npmVersion":"11.6.2","description":"Decorator-based routing for HTTP server","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"peerDependencies":{"airtight":"^5.7.2","mesh-ioc":"^4.3.1","mesh-config":"^1.3.4","reflect-utils":"^1.1.3","@flexent/errors":"^2.14.1","@flexent/logger":"^2.14.1","mesh-decorators":"^1.3.6","@flexent/metrics":"^2.14.1","reflect-metadata":"^0.2.2","@flexent/http-server":"^2.14.1","@flexent/pathmatcher":"^2.14.1"},"_npmOperationalInternal":{"tmp":"tmp/http-router_2.14.1_1785760480148_0.6888541243598527","host":"s3://npm-registry-packages-npm-production"}},"2.15.0":{"name":"@flexent/http-router","version":"2.15.0","author":{"name":"Boris Okunskiy"},"license":"MIT","_id":"@flexent/http-router@2.15.0","maintainers":[{"name":"inca","email":"boris@okunskiy.name"}],"dist":{"shasum":"c2dd9ebd0de0814e77989aeb3ea41d8f3ba06af1","tarball":"https://registry.npmjs.org/@flexent/http-router/-/http-router-2.15.0.tgz","fileCount":62,"integrity":"sha512-xnkkVxetpNYiTl32xE9HWEVi7nYUhCFlDj7sV4JUUH8DjMihNlotnyTmGRF+G3T8v/OyEjWw+ORay4ochCWfhA==","signatures":[{"sig":"MEUCIEGq18xyVVSMpnHEBQoE0R0VRRDbqiBhprJ0GGDE4/5AAiEA5B9lNClIeX4AslaLsophwQ+WAbFA3H8z0sq85h1R/jA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":86100},"type":"module","exports":{".":"./out/main/index.js"},"gitHead":"fcec186f24a63b49b1895c687fb8b5841fa286cc","scripts":{"test":"NODE_ENV=test mocha"},"_npmUser":{"name":"inca","email":"boris@okunskiy.name"},"_npmVersion":"11.6.2","description":"Decorator-based routing for HTTP server","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"peerDependencies":{"airtight":"^5.7.2","mesh-ioc":"^4.3.1","mesh-config":"^1.3.4","reflect-utils":"^1.1.3","@flexent/errors":"^2.15.0","@flexent/logger":"^2.15.0","mesh-decorators":"^1.3.6","@flexent/metrics":"^2.15.0","reflect-metadata":"^0.2.2","@flexent/http-server":"^2.15.0","@flexent/pathmatcher":"^2.15.0"},"_npmOperationalInternal":{"tmp":"tmp/http-router_2.15.0_1785763331175_0.4944085175934534","host":"s3://npm-registry-packages-npm-production"}},"2.15.1":{"name":"@flexent/http-router","version":"2.15.1","author":{"name":"Boris Okunskiy"},"license":"MIT","_id":"@flexent/http-router@2.15.1","maintainers":[{"name":"inca","email":"boris@okunskiy.name"}],"dist":{"shasum":"bc44436c108e67a3581a27c2b26ad8a90493338d","tarball":"https://registry.npmjs.org/@flexent/http-router/-/http-router-2.15.1.tgz","fileCount":62,"integrity":"sha512-aMAVo8ts+PmchFA/CCjJqtwNu4vXmifCueUdX3TLtK+q4x3ZTZzujdMVhkRy3aFgJ2wnAgqdN1BOf6qzCMB9YQ==","signatures":[{"sig":"MEUCIGT7Sj6nS96HS9L0enOnalokL/KmeE+dEU6I3uD6gby0AiEArX0G7IuBNA0T+dx4GKJljYZ1ywNsIKXqmseVJLfv1w4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":86100},"type":"module","exports":{".":"./out/main/index.js"},"gitHead":"ed5b32d2c5f1628e97f1c3af8d22c6316b6950a2","scripts":{"test":"NODE_ENV=test mocha"},"_npmUser":{"name":"inca","email":"boris@okunskiy.name"},"_npmVersion":"11.6.2","description":"Decorator-based routing for HTTP server","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"peerDependencies":{"airtight":"^5.7.2","mesh-ioc":"^4.3.1","mesh-config":"^1.3.4","reflect-utils":"^1.1.3","@flexent/errors":"^2.15.1","@flexent/logger":"^2.15.1","mesh-decorators":"^1.3.6","@flexent/metrics":"^2.15.1","reflect-metadata":"^0.2.2","@flexent/http-server":"^2.15.1","@flexent/pathmatcher":"^2.15.1"},"_npmOperationalInternal":{"tmp":"tmp/http-router_2.15.1_1786206098899_0.5826298790374931","host":"s3://npm-registry-packages-npm-production"}},"2.16.0":{"name":"@flexent/http-router","version":"2.16.0","author":{"name":"Boris Okunskiy"},"license":"MIT","_id":"@flexent/http-router@2.16.0","maintainers":[{"name":"inca","email":"boris@okunskiy.name"}],"dist":{"shasum":"afffeacb817442268c2b435f586a3081b0c902ed","tarball":"https://registry.npmjs.org/@flexent/http-router/-/http-router-2.16.0.tgz","fileCount":62,"integrity":"sha512-MoFC0VtpSKwgLXSglomiyyX4RO3efxS8f9F0nG3vSdCOcmWoFYT+AQHtHNVknQtuNPwy70VusxTTwGFgVSZKtg==","signatures":[{"sig":"MEYCIQCIH4hP/KxrOUceA8+YdUjq7QYIqwPxX2M5VjDP82UhJwIhAKOLitiUqhYOf0hAKLSgsHZCSxYLzem6crG76k2mO+hC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":86100},"type":"module","exports":{".":"./out/main/index.js"},"gitHead":"b3929f5d6168d16dec743e32eb58007c89b56556","scripts":{"test":"NODE_ENV=test mocha"},"_npmUser":{"name":"inca","email":"boris@okunskiy.name"},"_npmVersion":"11.6.2","description":"Decorator-based routing for HTTP server","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"peerDependencies":{"airtight":"^5.7.2","mesh-ioc":"^4.3.1","mesh-config":"^1.3.4","reflect-utils":"^1.1.3","@flexent/errors":"^2.16.0","@flexent/logger":"^2.16.0","mesh-decorators":"^1.3.6","@flexent/metrics":"^2.16.0","reflect-metadata":"^0.2.2","@flexent/http-server":"^2.16.0","@flexent/pathmatcher":"^2.16.0"},"_npmOperationalInternal":{"tmp":"tmp/http-router_2.16.0_1786380470487_0.1032458125989213","host":"s3://npm-registry-packages-npm-production"}},"2.16.1":{"name":"@flexent/http-router","version":"2.16.1","description":"Decorator-based routing for HTTP server","author":{"name":"Boris Okunskiy"},"license":"MIT","type":"module","exports":{".":"./out/main/index.js"},"scripts":{"test":"NODE_ENV=test mocha"},"peerDependencies":{"@flexent/errors":"^2.16.1","@flexent/http-server":"^2.16.1","@flexent/logger":"^2.16.1","@flexent/metrics":"^2.16.1","@flexent/pathmatcher":"^2.16.1","airtight":"^5.7.2","mesh-config":"^1.3.4","mesh-decorators":"^1.3.6","mesh-ioc":"^4.3.1","reflect-metadata":"^0.2.2","reflect-utils":"^1.1.3"},"gitHead":"692e4dfcaf6623cab39327f684a61b5f9fc091cd","_id":"@flexent/http-router@2.16.1","_nodeVersion":"24.11.1","_npmVersion":"11.6.2","dist":{"integrity":"sha512-o1h+6LMLM/o1lOfMg52qM/6/XM5wWcZNWRluCqk/pOBqvb8WVUdbbxrlqUwM3FHoL0D/izo2n2amiP80W8DMGA==","shasum":"38653650ccc238b0043a126043ff3bff765644ed","tarball":"https://registry.npmjs.org/@flexent/http-router/-/http-router-2.16.1.tgz","fileCount":62,"unpackedSize":86100,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIAotcUAkdLCso9r2pR0c8CCWD63xUL5v+gDXxFzzp90bAiEA9eDMM+aDFVWA/NecKF/o5zkyidQPgA4CyiBD9FLijYA="}]},"_npmUser":{"name":"inca","email":"boris@okunskiy.name"},"directories":{},"maintainers":[{"name":"inca","email":"boris@okunskiy.name"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/http-router_2.16.1_1787841515605_0.5184266144145424"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-19T15:27:22.676Z","modified":"2026-08-27T14:38:35.931Z","2.0.0":"2026-04-19T15:27:22.883Z","2.0.1":"2026-04-19T16:34:02.610Z","2.0.2":"2026-04-26T16:14:19.632Z","2.1.0":"2026-04-29T08:48:19.583Z","2.2.0":"2026-04-29T14:46:39.147Z","2.3.0":"2026-05-06T11:23:27.111Z","2.4.0":"2026-05-06T13:45:26.777Z","2.5.0":"2026-05-06T17:18:25.325Z","2.5.1":"2026-05-15T16:37:35.896Z","2.6.0":"2026-05-19T10:06:42.361Z","2.6.1":"2026-05-19T10:44:11.160Z","2.6.2":"2026-05-19T10:57:55.392Z","2.6.3":"2026-05-19T14:40:52.748Z","2.6.5":"2026-05-21T11:58:51.411Z","2.7.0":"2026-05-31T07:11:49.216Z","2.8.0":"2026-06-17T17:51:41.593Z","2.9.0":"2026-06-18T08:10:28.810Z","2.9.1":"2026-06-18T14:14:13.412Z","2.9.3":"2026-06-18T15:03:49.750Z","2.9.4":"2026-06-18T15:17:43.443Z","2.9.5":"2026-06-23T13:03:27.922Z","2.10.0":"2026-06-30T08:07:45.757Z","2.11.0":"2026-07-09T13:38:06.700Z","2.12.0":"2026-07-10T15:48:36.797Z","2.14.0":"2026-07-10T16:59:39.053Z","2.14.1":"2026-08-03T12:34:40.286Z","2.15.0":"2026-08-03T13:22:11.304Z","2.15.1":"2026-08-08T16:21:39.056Z","2.16.0":"2026-08-10T16:47:50.657Z","2.16.1":"2026-08-27T14:38:35.749Z"},"author":{"name":"Boris Okunskiy"},"license":"MIT","description":"Decorator-based routing for HTTP server","maintainers":[{"name":"inca","email":"boris@okunskiy.name"}],"readme":"# @flexent/http-router\n\nDecorator-based routing for HTTP server.\n\n## Highlights\n\n- 🎯 Declarative route and parameter definitions\n- 🧩 Chain-friendly composition\n- ✅ Schema-based parameter validation\n\n## Usage\n\nDefine route handlers by decorating async functions with route and parameter decorators.\n\n```ts\nexport class UsersRouter {\n\n    @dep() private userStorage!: UserStorage;\n\n    @Get({ path: '/users' })\n    async getUsers(\n        @QueryParam('limit', { schema: { type: 'number', default: 10 } }) limit: number,\n        @QueryParam('offset', { schema: { type: 'number', default: 0 } }) offset: number,\n    ) {\n        const users = await this.userStorage.listUsers(limit, offset);\n        return {\n            users,\n        };\n    }\n\n    @Post({ path: '/users' })\n    async createUser(\n        @BodyParam('name', { schema: { type: 'string' } }) name: string,\n        @BodyParam('email', { schema: { type: 'string', regex: /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/ } }) email: string,\n        @BodyParam('password', { schema: { type: 'string', minLength: 8 } }) password: string,\n    ) {\n        const user = await this.userStorage.createUser(name, email, password);\n        return { user };\n    }\n\n}\n```\n\nBind routes to mesh. Most apps would use a separate scope for isolating request-scoped state.\n\nAlso bind `RouterHandler`: it will resolve all routes defined in the same scope.\n\n```ts\nexport class HttpScope extends Mesh {\n\n    constructor(parent: Mesh) {\n        super('Http', parent);\n        this.service(HttpRouteHandler);\n        this.service(UsersRouter);\n    }\n\n}\n```\n\nIn HttpServer, instantiate the scope and delegate request handling to RouterHandler.\n\n```ts\nexport class MainHttpServer extends HttpServer {\n\n    @dep() private mesh!: Mesh;\n\n    async handle(ctx: HttpContext, next: HttpNext) {\n        const scope = new HttpScope(this.mesh);\n        await scope.resolve(HttpRouteHandler).handle(ctx, next);\n    }\n\n}\n```\n\nHttpRouteHandler can be part of chain, in that case it is handy to create a dedicated handler:\n\n```ts\nexport class AppHandler extends HttpChain {\n\n    @dep() private authHandler!: AuthHandler;\n    @dep() private errorHandler!: ErrorHandler;\n    @dep() private routeHandler!: HttpRouteHandler;\n\n    handlers = [\n        this.errorHandler,\n        this.authHandler,\n        this.routeHandler,\n    ];\n}\n```\n\nAlternatively, each router can inherit from `HttpRouter`.\n\n```ts\nexport FooRouter extends HttpRouter {\n\n    @Get({ path: '/foo' })\n    async getFoo() {\n        return {\n            foo: 123,\n        };\n    }\n\n}\n```\n\nThis way routers can be composed into chains as per usual, to have more granular control over the order in which route handlers are called.\n\n```ts\nexport class AppHandler extends HttpChain {\n\n    @dep() private authHandler!: AuthHandler;\n    @dep() private errorHandler!: ErrorHandler;\n    @dep() private fooRouter!: FooRouter;\n\n    handlers = [\n        this.errorHandler,\n        this.authHandler,\n        this.fooRouter,\n    ];\n}\n```\n\nNote: HttpRouteHandler is generally more efficient because it can skip instantiating routers that do not match the request (see below).\n\n## Routing rules\n\n- There are two types of routes:\n\n    1. **Endpoints** are defined with `@Get`, `@Post`, `@Put`, `@Delete`, `@Patch` decorators.\n    2. **Middlewares** are defined with `@Middleware` decorator.\n\n- On each request a *single* endpoint is matched.\n\n- If an endpoint matches:\n\n    - Middlewares from the same class are executed, in the order they are defined.\n    - `next()` is not called, so any other remaining handlers in the chain are skipped.\n\n- If no endpoints match:\n\n    - No middlewares are executed, even if they match.\n    - `next()` is called to allow other handlers to execute.\n    - As an additional optimization, if `RouteHandler` is used, it will only instantiate a router class with matching endpoint.\n","readmeFilename":"README.md"}