{"_id":"node-res","_rev":"31-5db15628ac1dcac48ea19a2e6d9aca23","name":"node-res","dist-tags":{"latest":"5.0.1","next":"6.0.2"},"versions":{"1.0.0":{"name":"node-res","version":"1.0.0","description":"","main":"index.js","scripts":{"test":"./node_modules/mocha/bin/mocha test/*.js && ./nightwatch.js"},"author":{"name":"amanvirk","email":"virk.officials@gmail.com"},"license":"ISC","dependencies":{"content-disposition":"^0.5.0","jsonp-body":"^1.0.0","lodash":"^3.9.3","mime":"^1.3.4","parseurl":"^1.3.0","querystring":"^0.2.0"},"devDependencies":{"chai":"^2.3.0","mocha":"^2.2.5","nightwatch":"^0.6.13","supertest":"^1.0.1"},"gitHead":"68d585f6d4a77b0200059f6efc2f238b91323df1","_id":"node-res@1.0.0","_shasum":"211741f2bdbf6c411db0fde47bf7a6e67c6c522e","_from":".","_npmVersion":"2.11.0","_nodeVersion":"2.2.1","_npmUser":{"name":"amanvirk","email":"virk.officials@gmail.com"},"dist":{"shasum":"211741f2bdbf6c411db0fde47bf7a6e67c6c522e","tarball":"https://registry.npmjs.org/node-res/-/node-res-1.0.0.tgz","integrity":"sha512-ak2kagvLSORAhmLw3i3Cy4NRWT8+6wkxQnTH0Imdp9gxkeagbwrL2CZM3O8E4Oqvbpiv99+C0Ee9FR81uRnhag==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD3Vg3yc8ti7Z2nYMbdXv74ghEgnFWbHb7aD3O1qEENtAIhAM6wP6q8IVUU6gXmy2cOoze/gg3pLNw9rK1cub3Sn1zB"}]},"maintainers":[{"name":"amanvirk","email":"virk.officials@gmail.com"}],"directories":{}},"1.0.1":{"name":"node-res","version":"1.0.1","description":"","main":"lib/index.js","scripts":{"test":"./node_modules/mocha/bin/mocha test/*.js && ./nightwatch.js"},"author":{"name":"amanvirk","email":"virk.officials@gmail.com"},"license":"ISC","dependencies":{"content-disposition":"^0.5.0","jsonp-body":"^1.0.0","lodash":"^3.9.3","mime":"^1.3.4","parseurl":"^1.3.0","querystring":"^0.2.0"},"devDependencies":{"chai":"^2.3.0","mocha":"^2.2.5","nightwatch":"^0.6.13","supertest":"^1.0.1"},"gitHead":"f877b19be176dc26d4d9759c367f2d72900fccd7","_id":"node-res@1.0.1","_shasum":"b5fe97cbfbf8860b8f299b59c87fbd3719a7a487","_from":".","_npmVersion":"2.11.0","_nodeVersion":"2.2.1","_npmUser":{"name":"amanvirk","email":"virk.officials@gmail.com"},"dist":{"shasum":"b5fe97cbfbf8860b8f299b59c87fbd3719a7a487","tarball":"https://registry.npmjs.org/node-res/-/node-res-1.0.1.tgz","integrity":"sha512-/YmEC/pAvqsCjj4Ekb+WQmDd+NLXM+kNy0TNZoRGJaL4IV5UTs1fvJK8Zgj1hFbW0r/3/ri//EQEKp7kHgpcBA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHXqr3BxVhMuYB0gBeOLiomWwk8QD9/sNkGpa9XLlCSHAiEAsreeEj7M6Met4mmQr68+nLL8g2XCbvJPvE2YPbOQUQA="}]},"maintainers":[{"name":"amanvirk","email":"virk.officials@gmail.com"}],"directories":{}},"1.0.2":{"name":"node-res","version":"1.0.2","description":"","main":"lib/index.js","scripts":{"test":"./node_modules/mocha/bin/mocha test/*.js && ./nightwatch.js"},"author":{"name":"amanvirk","email":"virk.officials@gmail.com"},"license":"ISC","dependencies":{"content-disposition":"^0.5.0","jsonp-body":"^1.0.0","lodash":"^3.9.3","mime":"^1.3.4","parseurl":"^1.3.0","querystring":"^0.2.0"},"devDependencies":{"chai":"^2.3.0","mocha":"^2.2.5","nightwatch":"^0.6.13","supertest":"^1.0.1"},"gitHead":"59ec3f0f995b8b5583acca19eb93383b7d1649af","_id":"node-res@1.0.2","_shasum":"30fba624099ed3d835026c2d35e72510b21c3eeb","_from":".","_npmVersion":"2.11.0","_nodeVersion":"2.2.1","_npmUser":{"name":"amanvirk","email":"virk.officials@gmail.com"},"dist":{"shasum":"30fba624099ed3d835026c2d35e72510b21c3eeb","tarball":"https://registry.npmjs.org/node-res/-/node-res-1.0.2.tgz","integrity":"sha512-970zSBRunJuHU3NshTH96GcZ93p2E2QQ6d3UIkcInlgtqVz4RsC+YcYapWGbersjs8sIfhpUB9VuUt1/P7K3Fg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDBaj4x3vtwOPrncPf91QLzrYRgTE8N0SLdw2z6dS/i3AiEAwnOLcRQqqfIDEKGzHjYfpmY5EMpx5qg4amyU5gBZZxA="}]},"maintainers":[{"name":"amanvirk","email":"virk.officials@gmail.com"}],"directories":{}},"1.0.3":{"name":"node-res","version":"1.0.3","description":"","main":"lib/index.js","scripts":{"test":"./node_modules/mocha/bin/mocha test/*.js && ./nightwatch.js"},"author":{"name":"amanvirk","email":"virk.officials@gmail.com"},"license":"ISC","dependencies":{"content-disposition":"^0.5.0","jsonp-body":"^1.0.0","lodash":"^3.9.3","mime":"^1.3.4","parseurl":"^1.3.0","querystring":"^0.2.0"},"devDependencies":{"chai":"^2.3.0","mocha":"^2.2.5","nightwatch":"^0.6.13","supertest":"^1.0.1"},"gitHead":"69f949cdec7fd35c0d17e823dcae29bd1556a05a","_id":"node-res@1.0.3","_shasum":"987f8bf304714995c6ec4189607f90ac8d7c84b5","_from":".","_npmVersion":"2.11.0","_nodeVersion":"2.2.1","_npmUser":{"name":"amanvirk","email":"virk.officials@gmail.com"},"dist":{"shasum":"987f8bf304714995c6ec4189607f90ac8d7c84b5","tarball":"https://registry.npmjs.org/node-res/-/node-res-1.0.3.tgz","integrity":"sha512-rhPFHTt1kzUyR0Iy3x9gJDiNLuxITMjtMOl7D86odyfvkyPi7hASfUGBDGJAdkDq19aFMsW+2AR3SZgdaV4HLw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDLvtHEEy9wN41MgT3ODm3bbnfUOZFCjFxcEN8AXcBZmgIgCKI++FmH9PHfsAneByuXFKdUVK7uCjO8aeHUHyDJKUA="}]},"maintainers":[{"name":"amanvirk","email":"virk.officials@gmail.com"}],"directories":{}},"1.0.4":{"name":"node-res","version":"1.0.4","description":"","main":"lib/index.js","scripts":{"test":"./node_modules/mocha/bin/mocha test/*.js && ./nightwatch.js"},"author":{"name":"amanvirk","email":"virk.officials@gmail.com"},"license":"ISC","dependencies":{"content-disposition":"^0.5.0","jsonp-body":"^1.0.0","lodash":"^3.9.3","mime":"^1.3.4","parseurl":"^1.3.0","querystring":"^0.2.0"},"devDependencies":{"chai":"^2.3.0","mocha":"^2.2.5","nightwatch":"^0.6.13","supertest":"^1.0.1"},"gitHead":"537e6cdcdf1fa703aeef70f0b80a4aeddca8adac","_id":"node-res@1.0.4","_shasum":"d9a9116d5e9ee5737a8744975299eaf4e8800763","_from":".","_npmVersion":"2.13.3","_nodeVersion":"3.1.0","_npmUser":{"name":"amanvirk","email":"virk.officials@gmail.com"},"dist":{"shasum":"d9a9116d5e9ee5737a8744975299eaf4e8800763","tarball":"https://registry.npmjs.org/node-res/-/node-res-1.0.4.tgz","integrity":"sha512-VGVYJoH2fM8KuKAkYdi9YjTkpAxWado01VvBRP6wPIzlBehfsUarAsF9CWXJyaQxgDeoYTIzkLEQ6Eg+QMIsHA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAGAmomQU9UoI/66Ke+4VQyIUU6KDQPuUl9rD0JjN82zAiEAgg+QIBsLEuIUEQDOISsl8tiJpB0oZmHonFLKeYVRCM0="}]},"maintainers":[{"name":"amanvirk","email":"virk.officials@gmail.com"}],"directories":{}},"1.0.5":{"name":"node-res","version":"1.0.5","description":"Response object to make response for http requests","main":"lib/index.js","scripts":{"test":"./node_modules/mocha/bin/mocha test/*.js && ./nightwatch.js"},"author":{"name":"amanvirk","email":"virk.officials@gmail.com"},"license":"ISC","dependencies":{"content-disposition":"^0.5.0","jsonp-body":"^1.0.0","lodash":"^3.9.3","mime":"^1.3.4","parseurl":"^1.3.0","querystring":"^0.2.0"},"devDependencies":{"chai":"^2.3.0","mocha":"^2.2.5","nightwatch":"^0.6.13","supertest":"^1.0.1"},"gitHead":"2e78119d4304a031d8ff0638b629f437d8372b72","_id":"node-res@1.0.5","_shasum":"a06a861ba7205600a5cd7a6f8b1a8534e80cec6e","_from":".","_npmVersion":"2.14.3","_nodeVersion":"4.1.0","_npmUser":{"name":"amanvirk","email":"virk.officials@gmail.com"},"dist":{"shasum":"a06a861ba7205600a5cd7a6f8b1a8534e80cec6e","tarball":"https://registry.npmjs.org/node-res/-/node-res-1.0.5.tgz","integrity":"sha512-D+pmqCvr0WbOgdTLn2tnu1Luj4TnNIZPVH3MSyRim6GY4jKaKGFHQEkUWF4dfnq2awGo13/jv1ONvzZMc6wfgg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB/ZsW4o7lh5MHP0hYPaVGH8G+SirFJJzKlT4tPPlXK0AiEAlhQ13rfXe0xPGXn5x+yhrmyW3Nqx6uuUog6ONxCWVxA="}]},"maintainers":[{"name":"amanvirk","email":"virk.officials@gmail.com"}],"directories":{}},"2.0.0":{"name":"node-res","version":"2.0.0","description":"Nodejs http response builder","main":"index.js","scripts":{"test":"npm run standard && istanbul cover _mocha --report lcovonly -- -R spec test && cat ./coverage/lcov.info | coveralls && rm -rf ./coverage","coverage":"npm run standard && istanbul cover _mocha test --bail","standard":"standard src/**/*.js test/*.js"},"author":{"name":"amanvirk"},"license":"MIT","devDependencies":{"chai":"^3.3.0","co-mocha":"^1.1.2","co-supertest":"0.0.10","coveralls":"^2.11.4","istanbul":"^0.3.22","mocha":"^2.3.3","mocha-lcov-reporter":"^1.0.0","standard":"^5.4.1","supertest":"^1.1.0"},"dependencies":{"content-disposition":"^0.5.0","etag":"^1.7.0","mime":"^1.3.4","vary":"^1.1.0"},"directories":{"test":"test"},"repository":{"type":"git","url":"git+https://github.com/poppinss/node-res.git"},"keywords":["node-res","http","response","http-res","response","builder","res","builder"],"bugs":{"url":"https://github.com/poppinss/node-res/issues"},"homepage":"https://github.com/poppinss/node-res#readme","gitHead":"5d59faa29097b72e2afa96d1368d5800df0349a4","_id":"node-res@2.0.0","_shasum":"200e9eadd882652d800fc7211b5e7c81b2d3a2a6","_from":".","_npmVersion":"3.3.5","_nodeVersion":"4.1.0","_npmUser":{"name":"amanvirk","email":"virk.officials@gmail.com"},"dist":{"shasum":"200e9eadd882652d800fc7211b5e7c81b2d3a2a6","tarball":"https://registry.npmjs.org/node-res/-/node-res-2.0.0.tgz","integrity":"sha512-tt3dgtedPi9vpuTZc2CiaBZFculyNlEv/yxFUyUcKlB5/8lzbUqGB8Uyr8lPWZTOlK1YcSDuHDPcuAAyxHEV8Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDu5cr455mMQ5lPyzgywo+T2SQvzHja3m5y9H27ew9APgIgWsvSDWoIde6tsjNHrjDPPUHtAsLzpO1i0YZnxRQmsNA="}]},"maintainers":[{"name":"amanvirk","email":"virk.officials@gmail.com"}]},"2.0.2":{"name":"node-res","version":"2.0.2","description":"Nodejs http response builder","main":"index.js","scripts":{"test":"npm run standard && istanbul cover _mocha --report lcovonly -- -R spec test && cat ./coverage/lcov.info | coveralls && rm -rf ./coverage","coverage":"npm run standard && istanbul cover _mocha test --bail","standard":"standard src/**/*.js test/*.js"},"author":{"name":"amanvirk"},"license":"MIT","devDependencies":{"chai":"^3.3.0","co-mocha":"^1.1.2","co-supertest":"0.0.10","coveralls":"^2.11.4","cz-conventional-changelog":"^1.1.5","istanbul":"^0.3.22","mocha":"^2.3.3","mocha-lcov-reporter":"^1.0.0","standard":"^5.4.1","supertest":"^1.1.0"},"dependencies":{"content-disposition":"^0.5.0","etag":"^1.7.0","mime":"^1.3.4","vary":"^1.1.0"},"directories":{"test":"test"},"repository":{"type":"git","url":"git+https://github.com/poppinss/node-res.git"},"keywords":["node-res","http","response","http-res","response","builder","res","builder"],"bugs":{"url":"https://github.com/poppinss/node-res/issues"},"homepage":"https://github.com/poppinss/node-res#readme","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"gitHead":"4b4a050c42adc3cc3bf82575c72ebdb6917afca4","_id":"node-res@2.0.2","_shasum":"767339a5f71130259a011dee7dd01a0b26b05102","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.4.0","_npmUser":{"name":"amanvirk","email":"virk.officials@gmail.com"},"dist":{"shasum":"767339a5f71130259a011dee7dd01a0b26b05102","tarball":"https://registry.npmjs.org/node-res/-/node-res-2.0.2.tgz","integrity":"sha512-i1CsAH0oWn5mevXwfp4U2BEIaz6JDlBGlfFbpbF2DRI3FZCp1UkUDh2jWHULomedsAYgItkjqVanH2a8bTGi6Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID2ICB0H9WeIwhFPBSpgBqhB/Pzz+cf3o4Jwpo4kMNV8AiEAy5Ay6CwJfQITow9W2qpiVxtoVmSciFCRigXYzDJ6QJs="}]},"maintainers":[{"name":"amanvirk","email":"virk.officials@gmail.com"}]},"3.0.0":{"name":"node-res","version":"3.0.0","description":"Nodejs http response builder","main":"index.js","scripts":{"test":"npm run standard && istanbul cover _mocha --report lcovonly -- -R spec test && cat ./coverage/lcov.info | coveralls && rm -rf ./coverage","coverage":"npm run standard && istanbul cover _mocha test --bail","standard":"standard src/**/*.js test/*.js"},"author":{"name":"amanvirk"},"license":"MIT","devDependencies":{"chai":"^3.3.0","co-functional":"^0.2.1","co-mocha":"^1.1.2","co-supertest":"0.0.10","coveralls":"^2.11.4","cz-conventional-changelog":"^1.1.5","istanbul":"^0.3.22","mocha":"^2.3.3","mocha-lcov-reporter":"^1.0.0","standard":"^5.4.1","supertest":"^1.1.0"},"dependencies":{"content-disposition":"^0.5.0","etag":"^1.7.0","mime":"^1.3.4","send":"^0.14.1","vary":"^1.1.0"},"directories":{"test":"test"},"repository":{"type":"git","url":"git+https://github.com/poppinss/node-res.git"},"keywords":["node-res","http","response","http-res","response","builder","res","builder"],"bugs":{"url":"https://github.com/poppinss/node-res/issues"},"homepage":"https://github.com/poppinss/node-res#readme","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"gitHead":"95dc0986d2bd7d79a0dfd12aa39bcf176cdf9560","_id":"node-res@3.0.0","_shasum":"f4fcf0ae0319e4a4a1af627e3bddec849c7af0f5","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.4.0","_npmUser":{"name":"amanvirk","email":"virk.officials@gmail.com"},"dist":{"shasum":"f4fcf0ae0319e4a4a1af627e3bddec849c7af0f5","tarball":"https://registry.npmjs.org/node-res/-/node-res-3.0.0.tgz","integrity":"sha512-94EKUArj/Yk8TFb2gqIlXvDOdeAkOqujGRzqgJpZs2Ka/v5RgH/+3deZF+R1Zew+vTbTZ+T4iACQms0P6Die5Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDlZZYHkxEvz9O1ZGNJ5/VmiqWh6iOcBLuiTR/nd3DqMAiEA4MsXRp1Qty6u1EDTph8PVKV3yjrqH9bc/YvZjAyefaI="}]},"maintainers":[{"name":"amanvirk","email":"virk.officials@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/node-res-3.0.0.tgz_1466893836486_0.7590121012181044"}},"3.0.1":{"name":"node-res","version":"3.0.1","description":"Nodejs http response builder","main":"index.js","scripts":{"test":"npm run lint && istanbul cover _mocha --report lcovonly -- -R spec test && cat ./coverage/lcov.info | coveralls && rm -rf ./coverage","coverage":"npm run lint && istanbul cover _mocha test --bail","lint":"standard src/**/*.js test/*.js"},"author":{"name":"amanvirk"},"license":"MIT","devDependencies":{"chai":"^3.3.0","co-functional":"^0.2.1","co-mocha":"^1.1.2","co-supertest":"0.0.10","coveralls":"^2.11.4","cz-conventional-changelog":"^1.1.5","istanbul":"^0.3.22","mocha":"^2.3.3","mocha-lcov-reporter":"^1.0.0","standard":"^5.4.1","supertest":"^1.1.0"},"dependencies":{"content-disposition":"^0.5.0","content-type":"^1.0.2","etag":"^1.7.0","mime-types":"^2.1.12","send":"^0.14.1","vary":"^1.1.0"},"directories":{"test":"test"},"repository":{"type":"git","url":"git+https://github.com/poppinss/node-res.git"},"keywords":["node-res","http","response","http-res","response","builder","res","builder"],"bugs":{"url":"https://github.com/poppinss/node-res/issues"},"homepage":"https://github.com/poppinss/node-res#readme","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"gitHead":"d68a9ce061f09aa1fda1c7b6afc5438af5e6477a","_id":"node-res@3.0.1","_shasum":"460daa8338b5e6f069a207b91b4ee348820ba36e","_from":".","_npmVersion":"3.8.9","_nodeVersion":"6.2.0","_npmUser":{"name":"adonisjs","email":"virk@adonisjs.com"},"dist":{"shasum":"460daa8338b5e6f069a207b91b4ee348820ba36e","tarball":"https://registry.npmjs.org/node-res/-/node-res-3.0.1.tgz","integrity":"sha512-HQaswhecq/TQwiUVRtDGommTXsujdDXzkUkhVN2qTTIA5R5UA5mVN8nxLBcemwRcKfoQuN6G2hoUh3hNHIXMuQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEANcciZiM3A+1naC2WNuoN144Bq6w4Am9uHo4IBjqqmAiABeIEFSRZBQybVbZfD3AalATSpqUA+A4I7bdEoIE9bOQ=="}]},"maintainers":[{"name":"adonisjs","email":"virk@adonisjs.com"},{"name":"amanvirk","email":"virk.officials@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/node-res-3.0.1.tgz_1478593507758_0.34210804267786443"}},"4.0.0":{"name":"node-res","version":"4.0.0","description":"Nodejs http response builder","main":"index.js","scripts":{"lint":"standard","pretest":"npm run lint","posttest":"npm run coverage","test:local":"FORCE_COLOR=true node bin/index.js --local","test":"nyc npm run test:local","test:win":"set FORCE_COLOR=true && node bin/index.js --win","coverage":"nyc report --reporter=text-lcov | coveralls"},"author":{"name":"amanvirk"},"license":"MIT","devDependencies":{"co-functional":"^0.2.1","coveralls":"^2.13.1","cz-conventional-changelog":"^2.0.0","japa":"^1.0.3","japa-cli":"^1.0.1","nyc":"^11.0.2","semver":"^5.3.0","standard":"^10.0.2","supertest":"^3.0.0"},"dependencies":{"content-disposition":"^0.5.2","content-type":"^1.0.2","etag":"^1.8.0","mime-types":"^2.1.15","send":"^0.15.3","vary":"^1.1.1"},"directories":{"test":"test"},"repository":{"type":"git","url":"git+https://github.com/poppinss/node-res.git"},"keywords":["node-res","http","response","http-res","response","builder","res","builder"],"bugs":{"url":"https://github.com/poppinss/node-res/issues"},"homepage":"https://github.com/poppinss/node-res#readme","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"nyc":{"include":["src"]},"gitHead":"ad7d3445cef71b42d8a575f583c8e5b923ba5b83","_id":"node-res@4.0.0","_npmVersion":"5.0.0","_nodeVersion":"8.0.0","_npmUser":{"name":"virk","email":"virk@adonisjs.com"},"dist":{"integrity":"sha512-ESTzsWOOslFEMEUaXJ2pdnp1iRxPIoex1geQS95SnpngQrMbl941TlLu16JC4zT7/nLg20F5S2oWYu+5v5/UvA==","shasum":"da9a4b17f6b9c5768b235673cd840ca6a1152065","tarball":"https://registry.npmjs.org/node-res/-/node-res-4.0.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGgq+fUWeQpRMQkoRx2Vh/kVQGAj4JQTYA3LnlnhQh7HAiAY07ypn9OowMoA6kjt9sye2N7PBf0GEYAHLKi4/L416g=="}]},"maintainers":[{"name":"virk","email":"virk@adonisjs.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/node-res-4.0.0.tgz_1497590309010_0.26078948308713734"}},"4.0.1":{"name":"node-res","version":"4.0.1","description":"Nodejs http response builder","main":"index.js","scripts":{"lint":"standard","pretest":"npm run lint","posttest":"npm run coverage","test:local":"FORCE_COLOR=true node bin/index.js --local","test":"nyc npm run test:local","test:win":"set FORCE_COLOR=true && node bin/index.js --win","coverage":"nyc report --reporter=text-lcov | coveralls"},"author":{"name":"amanvirk"},"license":"MIT","devDependencies":{"co-functional":"^0.2.1","coveralls":"^2.13.1","cz-conventional-changelog":"^2.0.0","japa":"^1.0.3","japa-cli":"^1.0.1","nyc":"^11.0.2","semver":"^5.3.0","standard":"^10.0.2","supertest":"^3.0.0"},"dependencies":{"content-disposition":"^0.5.2","content-type":"^1.0.2","etag":"^1.8.0","mime-types":"^2.1.15","send":"^0.15.3","vary":"^1.1.1"},"directories":{"test":"test"},"repository":{"type":"git","url":"git+https://github.com/poppinss/node-res.git"},"keywords":["node-res","http","response","http-res","response","builder","res","builder"],"bugs":{"url":"https://github.com/poppinss/node-res/issues"},"homepage":"https://github.com/poppinss/node-res#readme","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"nyc":{"include":["src"]},"gitHead":"b7381d896674669083e550907969d0b8397faf8f","_id":"node-res@4.0.1","_npmVersion":"5.3.0","_nodeVersion":"8.0.0","_npmUser":{"name":"virk","email":"virk@adonisjs.com"},"dist":{"integrity":"sha512-grzoBltloe796SHt1wBn5z54aB2ks3o4Z57mzxoluUYYD41Eu+IS4Kz190HeCrcNZgMQWccnYXfUiEHYhrMhzQ==","shasum":"802e79092bb31cce760886adb24baae88ff28485","tarball":"https://registry.npmjs.org/node-res/-/node-res-4.0.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDdcf3GcceWitjibG/ZDWhuLyqg9rxcN+yiEbI+TlMbXAIhAMFqAVhPjVNhN4gtyO6jEi6vw4TVQG/KqKQB8IZvv2gq"}]},"maintainers":[{"name":"virk","email":"virk@adonisjs.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/node-res-4.0.1.tgz_1506931347258_0.7788169838022441"}},"4.0.2":{"name":"node-res","version":"4.0.2","description":"Nodejs http response builder","main":"index.js","scripts":{"lint":"standard","pretest":"npm run lint","posttest":"npm run coverage","test:local":"FORCE_COLOR=true node bin/index.js --local","test":"nyc npm run test:local","test:win":"set FORCE_COLOR=true && node bin/index.js --win","coverage":"nyc report --reporter=text-lcov | coveralls"},"author":{"name":"amanvirk"},"license":"MIT","devDependencies":{"co-functional":"^0.2.1","coveralls":"^2.13.1","cz-conventional-changelog":"^2.0.0","japa":"^1.0.3","japa-cli":"^1.0.1","nyc":"^11.0.2","semver":"^5.3.0","standard":"^10.0.2","supertest":"^3.0.0"},"dependencies":{"content-disposition":"^0.5.2","content-type":"^1.0.2","etag":"^1.8.0","mime-types":"^2.1.15","send":"^0.15.3","vary":"^1.1.1"},"directories":{"test":"test"},"repository":{"type":"git","url":"git+https://github.com/poppinss/node-res.git"},"keywords":["node-res","http","response","http-res","response","builder","res","builder"],"bugs":{"url":"https://github.com/poppinss/node-res/issues"},"homepage":"https://github.com/poppinss/node-res#readme","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"nyc":{"include":["src"]},"gitHead":"54dd8f7946e3b1b5c6b20c105e851aede459c604","_id":"node-res@4.0.2","_npmVersion":"5.3.0","_nodeVersion":"8.0.0","_npmUser":{"name":"virk","email":"virk@adonisjs.com"},"dist":{"integrity":"sha512-d+KkZ6kY5XgS+6ho+XuoKxr5rND+q0xTePZ1KrfQWHxPZI9fxl6Qpo5oKb2q+JJtdK8D7KG/lB2zlwzIVDuhuw==","shasum":"7e289317be3087870d43562e698e539c92700574","tarball":"https://registry.npmjs.org/node-res/-/node-res-4.0.2.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH7sTl+999rsYgrtoGLA1RKamwvpW+drc5ILzd9tKqq2AiEA5aUBOHPhNwKzphGcTbG807mtviYR2XsgOorv4gmFYAY="}]},"maintainers":[{"name":"virk","email":"virk@adonisjs.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/node-res-4.0.2.tgz_1506963466185_0.5650583831593394"}},"4.0.3":{"name":"node-res","version":"4.0.3","description":"Nodejs http response builder","main":"index.js","scripts":{"lint":"standard","pretest":"npm run lint","posttest":"npm run coverage","test:local":"FORCE_COLOR=true node bin/index.js --local","test":"nyc npm run test:local","test:win":"set FORCE_COLOR=true && node bin/index.js --win","coverage":"nyc report --reporter=text-lcov | coveralls"},"author":{"name":"amanvirk"},"license":"MIT","devDependencies":{"co-functional":"^0.2.1","coveralls":"^2.13.1","cz-conventional-changelog":"^2.0.0","japa":"^1.0.3","japa-cli":"^1.0.1","nyc":"^11.0.2","semver":"^5.3.0","standard":"^10.0.2","supertest":"^3.0.0"},"dependencies":{"content-disposition":"^0.5.2","content-type":"^1.0.2","etag":"^1.8.0","mime-types":"^2.1.15","send":"^0.15.3","vary":"^1.1.1"},"directories":{"test":"test"},"repository":{"type":"git","url":"git+https://github.com/poppinss/node-res.git"},"keywords":["node-res","http","response","http-res","response","builder","res","builder"],"bugs":{"url":"https://github.com/poppinss/node-res/issues"},"homepage":"https://github.com/poppinss/node-res#readme","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"nyc":{"include":["src"]},"gitHead":"878e2a10bb2136bf2cd8f82def39bdd6dbba41e9","_id":"node-res@4.0.3","_npmVersion":"5.3.0","_nodeVersion":"8.0.0","_npmUser":{"name":"virk","email":"virk@adonisjs.com"},"dist":{"integrity":"sha512-GgQGj2PcXa3svlHR9wkth1wU7VQ5/tNyU5wQ1QiMjewxRa3XdKrgFrEQVsnjkpiuLOFspbyXedPuedVxLgC6VA==","shasum":"5ebffbe55e0200693987b0b85a5401200ed39d9e","tarball":"https://registry.npmjs.org/node-res/-/node-res-4.0.3.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCRmjdVgRuvP8tPM/2TsWZbqVSI44m1fUH/AtbWANryYgIgH2HX71a66WJSzKQC6Ov9XgHNgjp11Bb/Av23Ysd5EfY="}]},"maintainers":[{"name":"virk","email":"virk@adonisjs.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/node-res-4.0.3.tgz_1509038107214_0.9909957826603204"}},"4.0.4":{"name":"node-res","version":"4.0.4","description":"Nodejs http response builder","main":"index.js","scripts":{"lint":"standard","pretest":"npm run lint","posttest":"npm run coverage","test:local":"FORCE_COLOR=true node bin/index.js --local","test":"nyc npm run test:local","test:win":"set FORCE_COLOR=true && node bin/index.js --win","coverage":"nyc report --reporter=text-lcov | coveralls"},"author":{"name":"amanvirk"},"license":"MIT","devDependencies":{"co-functional":"^0.2.1","coveralls":"^2.13.3","cz-conventional-changelog":"^2.0.0","japa":"^1.0.5","japa-cli":"^1.0.1","nyc":"^11.2.1","semver":"^5.4.1","standard":"^10.0.3","supertest":"^3.0.0"},"dependencies":{"content-disposition":"^0.5.2","content-type":"^1.0.4","etag":"^1.8.1","mime-types":"^2.1.17","send":"^0.16.1","vary":"^1.1.2"},"directories":{"test":"test"},"repository":{"type":"git","url":"git+https://github.com/poppinss/node-res.git"},"keywords":["node-res","http","response","http-res","response","builder","res","builder"],"bugs":{"url":"https://github.com/poppinss/node-res/issues"},"homepage":"https://github.com/poppinss/node-res#readme","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"nyc":{"include":["src"]},"gitHead":"fbbd2576abf6336daf68464fee4e599297e9b387","_id":"node-res@4.0.4","_npmVersion":"5.3.0","_nodeVersion":"8.0.0","_npmUser":{"name":"virk","email":"virk@adonisjs.com"},"dist":{"integrity":"sha512-h4UnxJOGFCpLlIuTM7FhY+wJSG5/g/PtzZtmAzZHatK6D2qv2PtgPnS+IdCLGG13M/ntzqbtaMTq9+ZjD6L/Ow==","shasum":"fadaa5d0d7184b3a8907cddd1a427eb5cf1af097","tarball":"https://registry.npmjs.org/node-res/-/node-res-4.0.4.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCcNGeazOV5vsW78JuFboai3wUaV6O7MQXqbExXURbNOQIgBF8IV3yT/fXLnqC2OvPy1+cgZMu8ghpqR9HKPBOFBRs="}]},"maintainers":[{"name":"virk","email":"virk@adonisjs.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/node-res-4.0.4.tgz_1509299162969_0.7206052299588919"}},"4.1.0":{"name":"node-res","version":"4.1.0","description":"Nodejs http response builder","main":"index.js","scripts":{"lint":"standard","pretest":"npm run lint","posttest":"npm run coverage","test:local":"FORCE_COLOR=true node bin/index.js --local","test":"nyc npm run test:local","test:win":"set FORCE_COLOR=true && node bin/index.js --win","coverage":"nyc report --reporter=text-lcov | coveralls"},"author":{"name":"amanvirk"},"license":"MIT","devDependencies":{"co-functional":"^0.2.1","coveralls":"^3.0.0","cz-conventional-changelog":"^2.1.0","japa":"^1.0.6","japa-cli":"^1.0.1","nyc":"^11.4.1","semver":"^5.4.1","standard":"^10.0.3","supertest":"^3.0.0"},"dependencies":{"content-disposition":"^0.5.2","etag":"^1.8.1","mime-types":"^2.1.17","send":"^0.16.1","vary":"^1.1.2"},"directories":{"test":"test"},"repository":{"type":"git","url":"git+https://github.com/poppinss/node-res.git"},"keywords":["node-res","http","response","http-res","response","builder","res","builder"],"bugs":{"url":"https://github.com/poppinss/node-res/issues"},"homepage":"https://github.com/poppinss/node-res#readme","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"nyc":{"include":["src"]},"gitHead":"193a5962a8849131dc1a203e5d06d89c50fd3bc8","_id":"node-res@4.1.0","_npmVersion":"5.5.1","_nodeVersion":"9.3.0","_npmUser":{"name":"virk","email":"virk@adonisjs.com"},"dist":{"integrity":"sha512-I2R/4C57BcICAAq8qdY9BFqGCwZlt9aKAszBRrmIaGa9Xm+dLdQodGjqm1dNvuZeFsYdH8seIIkwi8A5OYyJrA==","shasum":"76a2ea555c46db596a89e0cd5a1e56a4f48ef20f","tarball":"https://registry.npmjs.org/node-res/-/node-res-4.1.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDJwXut7QZfOrCvAuvX7ZU+3KiNKAazNcxYvTkQpxnH6AiEAg7psAWSRpkIYecdOMD1h/GcTUBAiE5BE6sIGU2iPx6Q="}]},"maintainers":[{"name":"virk","email":"virk@adonisjs.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/node-res-4.1.0.tgz_1516106480289_0.6364613827317953"}},"4.1.1":{"name":"node-res","version":"4.1.1","description":"Nodejs http response builder","main":"index.js","scripts":{"lint":"standard","pretest":"npm run lint","posttest":"npm run coverage","test:local":"FORCE_COLOR=true node bin/index.js --local","test":"nyc npm run test:local","test:win":"set FORCE_COLOR=true && node bin/index.js --win","coverage":"nyc report --reporter=text-lcov | coveralls"},"author":{"name":"amanvirk"},"license":"MIT","devDependencies":{"co-functional":"^0.2.1","coveralls":"^3.0.0","cz-conventional-changelog":"^2.1.0","japa":"^1.0.6","japa-cli":"^1.0.1","nyc":"^11.4.1","semver":"^5.5.0","standard":"^10.0.3","supertest":"^3.0.0"},"dependencies":{"content-disposition":"^0.5.2","etag":"^1.8.1","mime-types":"^2.1.17","send":"^0.16.1","vary":"^1.1.2"},"directories":{"test":"test"},"repository":{"type":"git","url":"git+https://github.com/poppinss/node-res.git"},"keywords":["node-res","http","response","http-res","response","builder","res","builder"],"bugs":{"url":"https://github.com/poppinss/node-res/issues"},"homepage":"https://github.com/poppinss/node-res#readme","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"nyc":{"include":["src"]},"gitHead":"cd3b1ad70ddd58b92eebabcbfee8ba6ca8df4f3d","_id":"node-res@4.1.1","_npmVersion":"5.5.1","_nodeVersion":"9.3.0","_npmUser":{"name":"virk","email":"virk@adonisjs.com"},"dist":{"integrity":"sha512-C6Oo2zP76k5zq+re3jtkvdWlT2gwprGYSb53mxGNCO5BspRuRj0SWJP92IoSRwaNjxkiBNekon+xGZJbNbeYjQ==","shasum":"d0136278400e696787995c9a3831fcb3508cdc2f","tarball":"https://registry.npmjs.org/node-res/-/node-res-4.1.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIChxUWnmb33CLWcVzE15OwUpVSNxzqHqOPorDjlGOyW3AiEA7hz67JV758gmNhSxgZDZinLaAGutxUkn5ICNTen9Q9A="}]},"maintainers":[{"name":"virk","email":"virk@adonisjs.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/node-res-4.1.1.tgz_1516211437498_0.8424319627229124"}},"4.1.2":{"name":"node-res","version":"4.1.2","description":"Nodejs http response builder","main":"index.js","files":["index.js","methods.js"],"scripts":{"lint":"standard","pretest":"npm run lint","posttest":"npm run coverage","test:local":"FORCE_COLOR=true node bin/index.js --local","test":"nyc npm run test:local","test:win":"set FORCE_COLOR=true && node bin/index.js --win","coverage":"nyc report --reporter=text-lcov | coveralls"},"author":{"name":"amanvirk"},"license":"MIT","devDependencies":{"co-functional":"^0.2.1","coveralls":"^3.0.0","cz-conventional-changelog":"^2.1.0","japa":"^1.0.6","japa-cli":"^1.0.1","nyc":"^11.4.1","semver":"^5.5.0","standard":"^10.0.3","supertest":"^3.0.0"},"dependencies":{"content-disposition":"^0.5.2","etag":"^1.8.1","mime-types":"^2.1.17","send":"^0.16.1","vary":"^1.1.2"},"directories":{"test":"test"},"repository":{"type":"git","url":"git+https://github.com/poppinss/node-res.git"},"keywords":["node-res","http","response","http-res","response","builder","res","builder"],"bugs":{"url":"https://github.com/poppinss/node-res/issues"},"homepage":"https://github.com/poppinss/node-res#readme","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"nyc":{"include":["index.js","methods.js"]},"gitHead":"2b14709ae91a9f8e2e477206b34eefb61cb13728","_id":"node-res@4.1.2","_npmVersion":"5.5.1","_nodeVersion":"9.3.0","_npmUser":{"name":"virk","email":"virk@adonisjs.com"},"dist":{"integrity":"sha512-im3roS4d0zR5ZJjH1kJQkogrJBSFwgi6wL09FQOR+XFERrxltBl6ldQ5GstDQ0dlqZNxcGgSx1HJJwDWtSeymA==","shasum":"ecf4f2f023ce74cd9bba182abd31945bb64d0a16","tarball":"https://registry.npmjs.org/node-res/-/node-res-4.1.2.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC/Abym/LFeG8ioODkVNIE67j4xGA7if5Z6va03pJ9igAiBfrFG7VwD9CEJM8XaVy6MaCVgiYOKkqozfTb7Pbjm2aw=="}]},"maintainers":[{"name":"virk","email":"virk@adonisjs.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/node-res-4.1.2.tgz_1516265420255_0.1801386137958616"}},"4.1.3":{"name":"node-res","version":"4.1.3","description":"Nodejs http response builder","main":"index.js","files":["index.js","methods.js"],"scripts":{"lint":"standard","pretest":"npm run lint","posttest":"npm run coverage","test:local":"FORCE_COLOR=true node bin/index.js --local","test":"nyc npm run test:local","test:win":"set FORCE_COLOR=true && node bin/index.js --win","coverage":"nyc report --reporter=text-lcov | coveralls"},"author":{"name":"amanvirk"},"license":"MIT","devDependencies":{"co-functional":"^0.2.1","coveralls":"^3.0.0","cz-conventional-changelog":"^2.1.0","japa":"^1.0.6","japa-cli":"^1.0.1","nyc":"^11.4.1","semver":"^5.5.0","standard":"^10.0.3","supertest":"^3.0.0"},"dependencies":{"content-disposition":"^0.5.2","etag":"^1.8.1","mime-types":"^2.1.17","send":"^0.16.1","vary":"^1.1.2"},"directories":{"test":"test"},"repository":{"type":"git","url":"git+https://github.com/poppinss/node-res.git"},"keywords":["node-res","http","response","http-res","response","builder","res","builder"],"bugs":{"url":"https://github.com/poppinss/node-res/issues"},"homepage":"https://github.com/poppinss/node-res#readme","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"nyc":{"include":["index.js","methods.js"]},"gitHead":"618349822ef365efd3fbfff2e7782e2126a5d7d8","_id":"node-res@4.1.3","_npmVersion":"5.5.1","_nodeVersion":"9.3.0","_npmUser":{"name":"virk","email":"virk@adonisjs.com"},"dist":{"integrity":"sha512-ftx+pgOBiocZVUyIBjSGwOIjctgoLoC7t8+C14VqG2Q8G8BomidJJLjeyCYSdyLALWExGs1utUhxyrdh0+v1tQ==","shasum":"19410c204bb0461037537a36e714f002d2015ae2","tarball":"https://registry.npmjs.org/node-res/-/node-res-4.1.3.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD1+RItOMeeL9TLrzhH9w+0EHPzj+6e0/8Zoe62jzs3WAIhAI7LGc8WB+nqlAlLpFqdzWRiCJgSxs1ZT5ufaTeVSgzj"}]},"maintainers":[{"name":"virk","email":"virk@adonisjs.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/node-res-4.1.3.tgz_1516352544150_0.846690206322819"}},"4.1.4":{"name":"node-res","version":"4.1.4","description":"Nodejs http response builder","main":"index.js","files":["index.js","methods.js"],"scripts":{"lint":"standard","pretest":"npm run lint","posttest":"npm run coverage","test:local":"FORCE_COLOR=true node bin/index.js --local","test":"nyc npm run test:local","test:win":"set FORCE_COLOR=true && node bin/index.js --win","coverage":"nyc report --reporter=text-lcov | coveralls"},"author":{"name":"amanvirk"},"license":"MIT","devDependencies":{"co-functional":"^0.2.1","coveralls":"^3.0.0","cz-conventional-changelog":"^2.1.0","japa":"^1.0.6","japa-cli":"^1.0.1","nyc":"^11.4.1","semver":"^5.5.0","standard":"^10.0.3","supertest":"^3.0.0"},"dependencies":{"content-disposition":"^0.5.2","etag":"^1.8.1","mime-types":"^2.1.17","send":"^0.16.1","vary":"^1.1.2"},"directories":{"test":"test"},"repository":{"type":"git","url":"git+https://github.com/poppinss/node-res.git"},"keywords":["node-res","http","response","http-res","response","builder","res","builder"],"bugs":{"url":"https://github.com/poppinss/node-res/issues"},"homepage":"https://github.com/poppinss/node-res#readme","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"nyc":{"include":["index.js","methods.js"]},"gitHead":"8d80668d17c8612a90c31be53b3bd52da6449c92","_id":"node-res@4.1.4","_npmVersion":"5.5.1","_nodeVersion":"9.3.0","_npmUser":{"name":"virk","email":"virk@adonisjs.com"},"dist":{"integrity":"sha512-CE6NEM51MVeySzGn6stEuohJzYPHovjo9+/UK147peh8Hslth/S+IpXKupb1qv9QeIxbgnKJ9WoVOpEwJd5pYg==","shasum":"80f18cb6cb1c0c730d52d8f29594b31fd03b12b0","tarball":"https://registry.npmjs.org/node-res/-/node-res-4.1.4.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCH1IcnX8o+SiDpk5Zv2oWozQkl+sX/Fw8DZ6ZuZJXv0ACIQC3d0c+ieqQZSH1xb404z6TZZv5dL1092gIwqJt+NPJYQ=="}]},"maintainers":[{"name":"virk","email":"virk@adonisjs.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/node-res-4.1.4.tgz_1516355354374_0.2989343067165464"}},"5.0.0":{"name":"node-res","version":"5.0.0","description":"Nodejs http response builder","main":"index.js","files":["index.js","methods.js"],"scripts":{"lint":"standard","pretest":"npm run lint","posttest":"npm run coverage","test:local":"FORCE_COLOR=true node bin/index.js --local","test":"nyc npm run test:local","test:win":"set FORCE_COLOR=true && node bin/index.js --win","coverage":"nyc report --reporter=text-lcov | coveralls"},"author":{"name":"amanvirk"},"license":"MIT","devDependencies":{"co-functional":"^0.2.1","coveralls":"^3.0.2","cz-conventional-changelog":"^2.1.0","japa":"^1.0.6","japa-cli":"^1.0.1","nyc":"^12.0.2","semver":"^5.5.1","standard":"^11.0.1","supertest":"^3.1.0"},"dependencies":{"destroy":"^1.0.4","etag":"^1.8.1","mime-types":"^2.1.19","on-finished":"^2.3.0","vary":"^1.1.2"},"directories":{"test":"test"},"repository":{"type":"git","url":"git+https://github.com/poppinss/node-res.git"},"keywords":["node-res","http","response","http-res","response","builder","res","builder"],"bugs":{"url":"https://github.com/poppinss/node-res/issues"},"homepage":"https://github.com/poppinss/node-res#readme","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"nyc":{"include":["index.js","methods.js"]},"gitHead":"e187098e29e22068211bece8b5f6409fad0fdb7d","_id":"node-res@5.0.0","_npmVersion":"5.6.0","_nodeVersion":"10.0.0","_npmUser":{"name":"virk","email":"virk@adonisjs.com"},"dist":{"integrity":"sha512-vjvPIjtYRhKSAWBI+4Snq8Dy2vaB8PnDeLbclPXR+7g2+uyhF/2uetVYQMkrExI4NXNLLAputlZ4244TWBW0aw==","shasum":"83955059b540045768f0e875758235dae85e8622","tarball":"https://registry.npmjs.org/node-res/-/node-res-5.0.0.tgz","fileCount":5,"unpackedSize":34761,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbfRPrCRA9TVsSAnZWagAAjPUP/A8JN6AgQt4Bv35gyBsj\nlrFJNyK9wn2nrDX1cnvrMPzpoAwXzmB/5V/rX5VxZAerOSI66g7jAhOPrRDi\n7fefDz14wGHG7ioCxsOBpB/US4e3bfGx72dKwyr3Z6TVDXfAce6jnRlgBeHE\nYvLJ56ukkvvQ76WldW+2CuWO7vutNp3Vii9XwnSjphPM+0i9PcS/Uf9i7D+h\nO/a6zxDanxaqQ/J/O8LpAGF4IdOWo2EZESrETTgz+jXqN0V3Huz8oPAuc25o\nYdwipjcI6NIxzwRMyfUFitGlVVzAO7rlZN2JXCsjuRQiiT7a6u8QEACYYfaP\nW0dvS11R79XYmCDUuK6o0MktvvrocKGetFEFJ9+yZqRzXiAHdOmCsEp7Hz9H\n3DWTu38JcLAV6RAtqA7LOmnAr0u33pnDmniSMNTETpI0+XR/LITk5bc08w5j\nNcZrcFQW5CxOA+yTcpMEKtgFZpCWJ2ib9YEbd6AEot2vDlkuKpWZcIECNPrV\nM/6jnxhJSZMoSa1/oaM4YwWNH7qxUEQwg1KC03dGFCdxug/6ZhaWNObBKUPW\nzxEIL+kk2uDYHz56S5QKJ3CVw5Y8pgM8At7dbwrtECenqtMN3wUu/5qtwr92\nVif8bc5TqhcMNRWQidTjPOXJGUgDu76I0wJD28nBc7jH4DmndhIplKx6fYxb\nhgZ4\r\n=sjUC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH8OJzcDQJ/EbsNvIvLV4aLFQRo5uV1g+KxySZoqVUb/AiEAr0O/i/E2yFEIHjd+UVrVn4yxGEB0/My4ulyutb7aUGw="}]},"maintainers":[{"name":"virk","email":"virk@adonisjs.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/node-res_5.0.0_1534923755030_0.830074240731925"},"_hasShrinkwrap":false},"5.0.1":{"name":"node-res","version":"5.0.1","description":"Nodejs http response builder","main":"index.js","files":["index.js","methods.js"],"scripts":{"lint":"standard","pretest":"npm run lint","posttest":"npm run coverage","test:local":"FORCE_COLOR=true node bin/index.js --local","test":"nyc npm run test:local","test:win":"set FORCE_COLOR=true && node bin/index.js --win","coverage":"nyc report --reporter=text-lcov | coveralls"},"author":{"name":"amanvirk"},"license":"MIT","devDependencies":{"co-functional":"^0.2.1","coveralls":"^3.0.2","cz-conventional-changelog":"^2.1.0","japa":"^1.0.6","japa-cli":"^1.0.1","nyc":"^12.0.2","semver":"^5.5.1","standard":"^11.0.1","supertest":"^3.1.0"},"dependencies":{"destroy":"^1.0.4","etag":"^1.8.1","mime-types":"^2.1.19","on-finished":"^2.3.0","vary":"^1.1.2"},"directories":{"test":"test"},"repository":{"type":"git","url":"git+https://github.com/poppinss/node-res.git"},"keywords":["node-res","http","response","http-res","response","builder","res","builder"],"bugs":{"url":"https://github.com/poppinss/node-res/issues"},"homepage":"https://github.com/poppinss/node-res#readme","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"nyc":{"include":["index.js","methods.js"]},"gitHead":"e532e766cc3875a02cd96765e22ae2c75b17e3d7","_id":"node-res@5.0.1","_npmVersion":"5.6.0","_nodeVersion":"10.0.0","_npmUser":{"name":"virk","email":"virk@adonisjs.com"},"dist":{"integrity":"sha512-YOleO9c7MAqoHC+Ccu2vzvV1fL6Ku49gShq3PIMKWHRgrMSih3XcwL05NbLBi6oU2J471gTBfdpVVxwT6Pfhxg==","shasum":"ffaa462e206509d66d0ba28a4daf1f032daa6460","tarball":"https://registry.npmjs.org/node-res/-/node-res-5.0.1.tgz","fileCount":5,"unpackedSize":34753,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbfRZOCRA9TVsSAnZWagAAn+4P/1QLgfKM0TVPoPqXFxBj\nb9gYrBVVajgqZl0mawoi7YdCiFs64nbC4Uu+axD0B0gAnexyXYQhbeLlLuC8\nNjbYuZKWvtS9+UoNcx/S1IDm+Qh+XfdDLoIClSsgfqwA+bo3/JI5NrKQTyLU\nAQet6FtGPXuUBkDioGchotGQRSHZaq3jEUmz8FCZxOOFcg9EQnSzP9FJPR8f\n9K6+uibNArcJeNbFURGkB7d9DiDR/0uaQ3rSmIe32NWDnsSv+0/N4/7wQhtW\nYOpXPVr7O21UQPz3DgNuDa03MTC2ugH+zhEeT2va6urAMgm2Km2f1ghxRsfv\nG/PKPb7ECfiSCI/6HkYa0x6x3O3+scYDAydvrlydyGK3F4o2BiunJ6JkB55x\nMbME3dV9/p0ifz5s21SvV7o0EFgd86qxqZaFl+tydTB3yFU+ii/fboa97WQi\neHUGnwhVbwS3JUMiC18o6dSVw/l2w2Ew5zjnf8kcB1G0fr1uGxmN/wkqL6Iu\nNUR9IH/FeEHja3MCm2d9mZTdSSGPXaBpBzH7wdn7VUqAICZ6gfiSYAgihC5l\nf8MkhEkpf1VCPQufDTWFbZN57p/BCne8piDYnRaptEDVrBk6RJoACooF41I/\nNTZ0dgFedGZa6U9+HyqeEShoH7TWWpUj4avtyPIzmMG/MZZ1EQ2Nvbht5x9M\nLkqQ\r\n=2D6Z\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC9lHzwjwkGekeEkbjNWuAzH9WXscZsyLzTkVgCcQKLFwIgcvdRJ9G8R8CfeI1K1P1Pzx2OI4JgPZfZMP7Ka0ZFUxg="}]},"maintainers":[{"name":"virk","email":"virk@adonisjs.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/node-res_5.0.1_1534924365970_0.1751848058940828"},"_hasShrinkwrap":false},"6.0.1":{"name":"node-res","version":"6.0.1","description":"Nodejs http response builder","main":"build/index.js","scripts":{"mrm":"mrm --preset=@adonisjs/mrm-preset","pretest":"npm run lint","test":"nyc node japaFile.js","prepublishOnly":"npm run build","lint":"tslint --project tsconfig.json","clean":"del build","compile":"npm run lint && npm run clean && tsc","docs":"typedoc","build":"npm run compile && npm run docs","coverage":"nyc report --reporter=text-lcov | coveralls","commit":"git-cz"},"author":{"name":"amanvirk"},"license":"MIT","devDependencies":{"@adonisjs/mrm-preset":"^1.0.16","@types/node":"^10.12.18","commitizen":"^3.0.5","coveralls":"^3.0.2","cz-conventional-changelog":"^2.1.0","del-cli":"^1.1.0","doctoc":"^1.4.0","fs-extra":"^7.0.1","japa":"^2.0.7","mrm":"^1.2.1","nyc":"^13.1.0","pkg-ok":"^2.3.1","supertest":"^3.4.1","ts-node":"^7.0.1","tslint":"^5.12.1","tslint-eslint-rules":"^5.4.0","typedoc":"^0.13.0","typedoc-plugin-external-module-name":"^2.0.0","typedoc-plugin-single-line-tags":"^1.0.0","typescript":"^3.2.4","yorkie":"^2.0.0"},"dependencies":{"content-disposition":"^0.5.3","destroy":"^1.0.4","etag":"^1.8.1","fresh":"^0.5.2","mime-types":"^2.1.21","on-finished":"^2.3.0","vary":"^1.1.2"},"directories":{"test":"test"},"repository":{"type":"git","url":"git+https://github.com/poppinss/node-res.git"},"keywords":["node-res","http","response","http-res","response","builder","res","builder"],"bugs":{"url":"https://github.com/poppinss/node-res/issues"},"homepage":"https://github.com/poppinss/node-res#readme","config":{"commitizen":{"path":"cz-conventional-changelog"}},"nyc":{"exclude":["test"],"extension":[".ts"]},"gitHooks":{"commit-msg":"node ./node_modules/@adonisjs/mrm-preset/validateCommit/conventional/validate.js","pre-commit":"doctoc README.md --title='## Table of contents' && git add README.md"},"readme":"![](https://res.cloudinary.com/adonisjs/image/upload/q_100/v1547538578/node-res_jprexg.png)\n\n<div align=\"center\">\n    <strong>Facade over <a href=\"https://nodejs.org/api/http.html#http_class_http_serverresponse\">res</a> object to consistently make HTTP response.</strong>\n</div>\n\n<br />\n\n<div align=\"center\">\n  <!-- NPM version -->\n  <a href=\"https://npmjs.org/package/node-res\">\n    <img src=\"https://img.shields.io/npm/v/node-res.svg?style=flat-square\"\n      alt=\"NPM version\" />\n  </a>\n  <!-- Build Status -->\n  <a href=\"https://travis-ci.org/RelayIN/node-res\">\n    <img src=\"https://img.shields.io/travis/RelayIN/node-res/master.svg?style=flat-square\"\n      alt=\"Build Status\" />\n  </a>\n  <!-- Test Coverage -->\n  <a href=\"https://coveralls.io/github/RelayIN/node-res\">\n    <img src=\"https://img.shields.io/coveralls/github/RelayIN/node-res/master.svg?style=flat-square\"\n      alt=\"Test Coverage\" />\n  </a>\n  <!-- Downloads -->\n  <a href=\"https://npmjs.org/package/node-res\">\n    <img src=\"https://img.shields.io/npm/dt/node-res.svg?style=flat-square\"\n      alt=\"Download\" />\n  </a>\n</div>\n\n<br />\n<br />\n\nNode res is a facade to be **used by any framework** to send HTTP response from a given request. The [res](https://nodejs.org/api/http.html#http_class_http_serverresponse) object of Node.js is very low level and not enjoyable to work with.\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n## Table of contents\n\n- [Features](#features)\n- [Getting started](#getting-started)\n    - [Raw Node.js API](#raw-nodejs-api)\n- [Explicit Mode](#explicit-mode)\n- [Typescript support](#typescript-support)\n- [Extending via Macros](#extending-via-macros)\n- [Difference from other frameworks](#difference-from-other-frameworks)\n- [API](#api)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n## Features\n- Support for **JSON, JSONP** response types.\n- Automatically generates **etag** to enable caching.\n- Serializes response body and set appropriate headers for it.\n- Elegantly closes readable stream when piping a stream to the response.\n- Files download.\n- Helper methods.\n- Typings support\n- Extendable from outside\n- Thoroughly tested.\n\n## Getting started\nInstall the package from npm as follows:\n\n```sh\nnpm i node-res\n\n# yarn\nyarn add node-res\n```\n\nand then use it by importing it as follows:\n\n```js\nconst { Response } = require('node-res')\nconst http = require('http')\n\nconst options = {\n  etag: true,\n  jsonpCallbackName: 'callback'\n}\n\nhttp.createServer(function (req, res) {\n  const response = new Response(req, res, options)\n  response.status(201).json({ ok: true })\n})\n```\n\n#### Raw Node.js API\n\n```js\nhttp.createServer(function (req, res) {\n  const body = JSON.stringify({ ok: true })\n\n  res.statusCode = 201\n  res.setHeader('content-type', 'application/json')\n  res.setHeader('content-length', Buffer.byteLength(body))\n  res.write(body)\n  res.end()\n})\n```\n\nAs you can see, sending JSON response from the raw `res` object requires little bit of extra work and the purpose of this module is to abstract those low level API's to a consistent set of high level API's.\n\n\n## Explicit Mode\n> This mode is used by [AdonisJs Framework](https://adonisjs.com)\n\nThe `response/res` object in Node.js and in many popular frameworks like Express, Fastify will write the response body as soon as you will call `res.send` method.\n\nThis is okay, if your HTTP request stack is simple and doesn't have many abstraction layers. However, if you **heavily make use of middleware** and want to modify the response body inside a middleware, it's impossible to do that.\n\nWhereas, this module comes with a switch `(explicitEnd)`, using that you can tell it to not write the response unless `response.finish` is called explicitly.\n\n```js\nhttp.createServer(function (req, res) {\n  const response = new Response(req, res, {})\n  \n  response.explicitEnd = true\n  \n  // response is saved in memory\n  response.send({ ok: true })\n  \n  response.hasLazyBody // true\n  response.lazyBody // { writer, args: [] }\n  \n  // now writing\n  response.finish()\n})\n```\n\nThis is how `explicitEnd=true` works in nutshell\n\n1. Any calls to methods `send`, `json`, `jsonp` will be buffered and stored inside memory.\n2. No headers will be set.\n3. Consecutive calls to previous methods will override the existing memory reference with the new one.\n4. The response is only written to the TCP socket when `response.finish` is called.\n5. Consecutive calls to `response.finish` results in a `noop`.\n\n## Typescript support\nThe module is written in Typescript, so expect intellisense to work out of the box. Also an interface is exported, which you can extend if extending the original `Response` class.\n\n```ts\nimport { IResponse: BaseIResponse } from 'node-res/build/src/IResponse'\n\nexport interface IResponse extends BaseIResponse {\n  myCustomMethod (): string\n}\n```\n\nand then use it as follows\n\n```ts\nimport { IResponse } from './my/interfaces'\n\nhttp.createServer(function (req, res) {\n  const response: IResponse = new Response(req, res, {})\n  response.myCustomMethod() // intellisense works\n})\n```\n\n## Extending via Macros\nThe module extends [macroable](https://github.com/poppinss/macroable), which allows extending classes from outside in. You can use the following methods to extend the prototype of the `Response` class.\n\n```js\nimport { Response } from 'node-res'\n\n// Added as a method\nResponse.macro('status', function () {\n  return this.response.statusCode\n})\n\n// Added as property\nResponse.getter('status', function () {\n  return this.response.statusCode\n})\n\n// Added as singleton property\nResponse.getter('status', function () {\n  return this.response.statusCode\n}, true)\n```\n\nLater, using the request instance, you can use `getters` and `macros`.\n\n```js\nhttp.createServer(function (req, res) {\n  const response = new Response(req, res, {})\n\n  response.status // getter\n  response.status() // macro\n})\n```\n\n## Difference from other frameworks\n**You don't need this module, if you are using Express or Koa**, since their `res` object is already decorated with handful of convenient getters.\n\nIn case you are building a framework or using a framework like [micro](https://github.com/zeit/micro), then this module can save lots of time.\n\n## API\nThe API docs are generated using TypeDoc and can be found [here](https://node-res.netlify.com/classes/_request_.request.html).\n","readmeFilename":"README.md","gitHead":"0a6ba68d57c01bad9fc7706d3253b4caab040bc5","_id":"node-res@6.0.1","_npmVersion":"6.5.0","_nodeVersion":"10.10.0","_npmUser":{"name":"virk","email":"virk@adonisjs.com"},"dist":{"integrity":"sha512-bWz/6Cj2tC5NwA0CAL54+sC2xX2Rm0mGO+guO34br3UCpAiViSS8eQaZii7PsnhMTWRdfBGvyp+gv7+1QqfcnA==","shasum":"3a547b9403f62773b833054a004419ecc7c72422","tarball":"https://registry.npmjs.org/node-res/-/node-res-6.0.1.tgz","fileCount":10,"unpackedSize":28469,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcQsgOCRA9TVsSAnZWagAAD3MP/iZfRr/Q5+u+ogkk3rij\nqcN9B6ikJ3Lr1+fjbRTC6sLdPER3sQp+SzJ335R62Dtc8zSDOcif2IAxfrH+\nGRmsNZKmmTw+KiDd0Q4dBsYUuYUeROwvepCHBkXblMwXja/wpXO1uFWSnUq0\nI80LwQ5xuAxIuxhWwTujO1o4I3QjV9BHsQFdvYzJCuFLVvG7AzywEIVAS+M9\nyAKN40vLEyVMAyC04EQ8rZQZjDRMp5THFVe69vjVl2NLP0q/qJa+mQddzMry\nqfPsH8YYBLpEbU7bYx7ItFYjLuTUBnMYbesi8jznMWZ3nZm16mDQS2bU++v+\npAOLU+/uhE2S7aAxdQFZxpS+nPXHklH+KMiWwrL8ZP7Rhaz/bQ3AodbYxvgn\nbZMMcOfewmRsjmT9rpNDd+g/quy92AUThIPWk9Scut+R+7d0ZdhnBeJGe++r\nZ20kHEORpDrTXVlyvoOG4m7zccM9o7A0CFdPZVVTNYBZWJESALAS9p+iKbLW\nfDN/j0vY49XK/72p1LGmOH8dtJxtKBoBbKi+GPou2sInZKHXqi+uoC2rHY3a\nl/be6Ef+6cEK81FaMmRoZA/MlL/llLH//EICzVyQ+1xUFIDBh+PdqiCUrVHk\ng2MGiZEcVgF5b0xLkwekaDIAlfh3RQy5xhFVFpFy92oi5FgVksIoeEAPKeEG\nLgTP\r\n=D8X5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCi3iANTdwY4C22qZ5YQUsiLe8STo/Zco32u48mrhSFjAIgRo84gFZ636clup3Cr1/mOp4vklgGCfFeFMjdITO96M0="}]},"maintainers":[{"email":"virk.officials@gmail.com","name":"amanvirk"},{"email":"virk@adonisjs.com","name":"virk"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/node-res_6.0.1_1547880461555_0.9727010538984671"},"_hasShrinkwrap":false},"6.0.2":{"name":"node-res","version":"6.0.2","description":"Nodejs http response builder","main":"build/index.js","scripts":{"mrm":"mrm --preset=@adonisjs/mrm-preset","pretest":"npm run lint","test":"nyc node japaFile.js","prepublishOnly":"npm run build","lint":"tslint --project tsconfig.json","clean":"del build","compile":"npm run lint && npm run clean && tsc","docs":"typedoc","build":"npm run compile && npm run docs","coverage":"nyc report --reporter=text-lcov | coveralls","commit":"git-cz"},"author":{"name":"amanvirk"},"license":"MIT","devDependencies":{"@adonisjs/mrm-preset":"^1.0.16","@types/node":"^10.12.18","commitizen":"^3.0.5","coveralls":"^3.0.2","cz-conventional-changelog":"^2.1.0","del-cli":"^1.1.0","doctoc":"^1.4.0","fs-extra":"^7.0.1","japa":"^2.0.7","mrm":"^1.2.1","nyc":"^13.1.0","pkg-ok":"^2.3.1","supertest":"^3.4.1","ts-node":"^7.0.1","tslint":"^5.12.1","tslint-eslint-rules":"^5.4.0","typedoc":"^0.13.0","typedoc-plugin-external-module-name":"^2.0.0","typedoc-plugin-single-line-tags":"^1.0.0","typescript":"^3.2.4","yorkie":"^2.0.0"},"dependencies":{"content-disposition":"^0.5.3","destroy":"^1.0.4","etag":"^1.8.1","fresh":"^0.5.2","macroable":"^2.0.0","mime-types":"^2.1.21","on-finished":"^2.3.0","vary":"^1.1.2"},"directories":{"test":"test"},"repository":{"type":"git","url":"git+https://github.com/relayIN/node-res.git"},"keywords":["node-res","http","response","http-res","response","builder","res","builder"],"bugs":{"url":"https://github.com/relayIN/node-res/issues"},"homepage":"https://github.com/relayIN/node-res#readme","config":{"commitizen":{"path":"cz-conventional-changelog"}},"nyc":{"exclude":["test"],"extension":[".ts"]},"gitHooks":{"commit-msg":"node ./node_modules/@adonisjs/mrm-preset/validateCommit/conventional/validate.js","pre-commit":"doctoc README.md --title='## Table of contents' && git add README.md"},"readme":"![](https://res.cloudinary.com/adonisjs/image/upload/q_100/v1547538578/node-res_jprexg.png)\n\n<div align=\"center\">\n    <strong>Facade over <a href=\"https://nodejs.org/api/http.html#http_class_http_serverresponse\">res</a> object to consistently make HTTP response.</strong>\n</div>\n\n<br />\n\n<div align=\"center\">\n  <!-- NPM version -->\n  <a href=\"https://npmjs.org/package/node-res\">\n    <img src=\"https://img.shields.io/npm/v/node-res.svg?style=flat-square\"\n      alt=\"NPM version\" />\n  </a>\n  <!-- Build Status -->\n  <a href=\"https://travis-ci.org/RelayIN/node-res\">\n    <img src=\"https://img.shields.io/travis/RelayIN/node-res/master.svg?style=flat-square\"\n      alt=\"Build Status\" />\n  </a>\n  <!-- Test Coverage -->\n  <a href=\"https://coveralls.io/github/RelayIN/node-res\">\n    <img src=\"https://img.shields.io/coveralls/github/RelayIN/node-res/master.svg?style=flat-square\"\n      alt=\"Test Coverage\" />\n  </a>\n  <!-- Downloads -->\n  <a href=\"https://npmjs.org/package/node-res\">\n    <img src=\"https://img.shields.io/npm/dt/node-res.svg?style=flat-square\"\n      alt=\"Download\" />\n  </a>\n</div>\n\n<br />\n<br />\n\nNode res is a facade to be **used by any framework** to send HTTP response from a given request. The [res](https://nodejs.org/api/http.html#http_class_http_serverresponse) object of Node.js is very low level and not enjoyable to work with.\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n## Table of contents\n\n- [Features](#features)\n- [Getting started](#getting-started)\n    - [Raw Node.js API](#raw-nodejs-api)\n- [Explicit Mode](#explicit-mode)\n- [Typescript support](#typescript-support)\n- [Extending via Macros](#extending-via-macros)\n- [Difference from other frameworks](#difference-from-other-frameworks)\n- [API](#api)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n## Features\n- Support for **JSON, JSONP** response types.\n- Automatically generates **etag** to enable caching.\n- Serializes response body and set appropriate headers for it.\n- Elegantly closes readable stream when piping a stream to the response.\n- Files download.\n- Helper methods.\n- Typings support\n- Extendable from outside\n- Thoroughly tested.\n\n## Getting started\nInstall the package from npm as follows:\n\n```sh\nnpm i node-res\n\n# yarn\nyarn add node-res\n```\n\nand then use it by importing it as follows:\n\n```js\nconst { Response } = require('node-res')\nconst http = require('http')\n\nconst options = {\n  etag: true,\n  jsonpCallbackName: 'callback'\n}\n\nhttp.createServer(function (req, res) {\n  const response = new Response(req, res, options)\n  response.status(201).json({ ok: true })\n})\n```\n\n#### Raw Node.js API\n\n```js\nhttp.createServer(function (req, res) {\n  const body = JSON.stringify({ ok: true })\n\n  res.statusCode = 201\n  res.setHeader('content-type', 'application/json')\n  res.setHeader('content-length', Buffer.byteLength(body))\n  res.write(body)\n  res.end()\n})\n```\n\nAs you can see, sending JSON response from the raw `res` object requires little bit of extra work and the purpose of this module is to abstract those low level API's to a consistent set of high level API's.\n\n\n## Explicit Mode\n> This mode is used by [AdonisJs Framework](https://adonisjs.com)\n\nThe `response/res` object in Node.js and in many popular frameworks like Express, Fastify will write the response body as soon as you will call `res.send` method.\n\nThis is okay, if your HTTP request stack is simple and doesn't have many abstraction layers. However, if you **heavily make use of middleware** and want to modify the response body inside a middleware, it's impossible to do that.\n\nWhereas, this module comes with a switch `(explicitEnd)`, using that you can tell it to not write the response unless `response.finish` is called explicitly.\n\n```js\nhttp.createServer(function (req, res) {\n  const response = new Response(req, res, {})\n  \n  response.explicitEnd = true\n  \n  // response is saved in memory\n  response.send({ ok: true })\n  \n  response.hasLazyBody // true\n  response.lazyBody // { writer, args: [] }\n  \n  // now writing\n  response.finish()\n})\n```\n\nThis is how `explicitEnd=true` works in nutshell\n\n1. Any calls to methods `send`, `json`, `jsonp` will be buffered and stored inside memory.\n2. No headers will be set.\n3. Consecutive calls to previous methods will override the existing memory reference with the new one.\n4. The response is only written to the TCP socket when `response.finish` is called.\n5. Consecutive calls to `response.finish` results in a `noop`.\n\n## Typescript support\nThe module is written in Typescript, so expect intellisense to work out of the box. Also an interface is exported, which you can extend if extending the original `Response` class.\n\n```ts\nimport { ResponseContract } from 'node-res'\n\nexport interface IResponse extends ResponseContract {\n  myCustomMethod (): string\n}\n```\n\nand then use it as follows\n\n```ts\nimport { IResponse } from './my/interfaces'\n\nhttp.createServer(function (req, res) {\n  const response = new Response(req, res, {}) as unknown as IResponse\n  response.myCustomMethod() // intellisense works\n})\n```\n\n## Extending via Macros\nThe module extends [macroable](https://github.com/poppinss/macroable), which allows extending classes from outside in. You can use the following methods to extend the prototype of the `Response` class.\n\n```js\nimport { Response } from 'node-res'\n\n// Added as a method\nResponse.macro('status', function () {\n  return this.response.statusCode\n})\n\n// Added as property\nResponse.getter('status', function () {\n  return this.response.statusCode\n})\n\n// Added as singleton property\nResponse.getter('status', function () {\n  return this.response.statusCode\n}, true)\n```\n\nLater, using the request instance, you can use `getters` and `macros`.\n\n```js\nhttp.createServer(function (req, res) {\n  const response = new Response(req, res, {})\n\n  response.status // getter\n  response.status() // macro\n})\n```\n\n## Difference from other frameworks\n**You don't need this module, if you are using Express or Koa**, since their `res` object is already decorated with handful of convenient getters.\n\nIn case you are building a framework or using a framework like [micro](https://github.com/zeit/micro), then this module can save lots of time.\n\n## API\nThe API docs are generated using TypeDoc and can be found [here](https://node-res.netlify.com/classes/_request_.request.html).\n","readmeFilename":"README.md","gitHead":"a95bab8a6973a07aad56cb4c8da29e7210ca6553","_id":"node-res@6.0.2","_npmVersion":"6.5.0","_nodeVersion":"10.10.0","_npmUser":{"name":"virk","email":"virk@adonisjs.com"},"dist":{"integrity":"sha512-RZIWO9jKY57D+qWQDnjoR244SDwUXlOHazNtUGTgcc7bHkRZowgl+j5DsuA7+Tvjgr8RyK0ylEMSsbktuR9cWA==","shasum":"a0a19e3698a40dbecaca13e9ef646d298b857b02","tarball":"https://registry.npmjs.org/node-res/-/node-res-6.0.2.tgz","fileCount":10,"unpackedSize":28960,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcQtujCRA9TVsSAnZWagAAmWsQAJTHdMt23lNmJ8nourfa\nM5yyKjbcnx/6Vjaw9ZjTJzMBuhabcG/AOgOi+FTwm3+M2LZM6d/nynYgIXfG\nBxXsZ97p5rrWKJL1DWW/XE0w22ZbcbHCXwI107/TIBTl9OM3T37FiABKQ33z\n5xAJVbifzKDwrGotj6RHOy9pOSOFO0zWb1LbD3b1bfMxfuhfjEmfV9ebRJfp\nWhoayX0whTEqW460rp1j3nZnh0+C4h+sILVGjf97AR2Hwr1c/u80hSLIlHgZ\nebYt3k2RMwMSKYfuC8dMfdYA1PYmzdy8qSYL/Sgd8dWmdxHSj1RCV3Mm+jGV\nZESrgbeMouqpQAhbjGqHwaI63xqHgnZlqieKW1DBxV7tJzC/c26Bh8Kn1EAs\njjwVEjQqNUGHJpDGC1fSMY/+m9khxRsve7edudkMOtcIyjWUi1UmJyORc/pU\nE8oA+hjFSeUIlPWXJ7xj9pI84xKxTzwf2oy/5zh6Rt3jrF906HCM3eHIVyFX\n4pMOFN9aDyNAdmGsN8gCe2R3mDtOtzj0Yz+Nf4nnEA6nSpOq1Bqy9QEtxPDH\nRsQtaeCoXNSvGesMtaHSvAGPDL6i9vf+Gb0WYT3yxE4s7vrtTGY4F0FhYH/6\npwINSVj0hODQ0z/wpXCa7jE6Hvo7wbZa/aPGy4aoJgIl5MaxHdWsv0G+5xN8\n2VSD\r\n=0+FM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBDfDHN43xQnWr2BX+SoFG42NqyXiZJEZYJkoHuw5AhiAiA9686Ei6Qi81f13HbqKlfO4z2PTLHKjUHnR6LYsDSDUQ=="}]},"maintainers":[{"email":"virk.officials@gmail.com","name":"amanvirk"},{"email":"virk@adonisjs.com","name":"virk"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/node-res_6.0.2_1547885474726_0.631660372644038"},"_hasShrinkwrap":false}},"readme":"","maintainers":[{"email":"virk.officials@gmail.com","name":"amanvirk"},{"email":"virk@adonisjs.com","name":"virk"}],"time":{"modified":"2022-06-21T21:01:32.716Z","created":"2015-06-05T09:27:43.128Z","1.0.0":"2015-06-05T09:27:43.128Z","1.0.1":"2015-06-05T09:29:35.494Z","1.0.2":"2015-06-14T05:12:41.452Z","1.0.3":"2015-06-15T09:00:56.169Z","1.0.4":"2015-09-05T11:37:19.863Z","1.0.5":"2015-09-23T05:37:05.341Z","2.0.0":"2015-12-29T16:12:23.316Z","2.0.2":"2016-01-19T13:24:10.287Z","3.0.0":"2016-06-25T22:30:38.943Z","3.0.1":"2016-11-08T08:25:07.983Z","3.0.2":"2017-06-12T09:19:16.675Z","4.0.0":"2017-06-16T05:18:29.109Z","4.0.1":"2017-10-02T08:02:28.265Z","4.0.2":"2017-10-02T16:57:47.240Z","4.0.3":"2017-10-26T17:15:08.302Z","4.0.4":"2017-10-29T17:46:03.889Z","4.1.0":"2018-01-16T12:41:21.301Z","4.1.1":"2018-01-17T17:50:38.462Z","4.1.2":"2018-01-18T08:50:21.405Z","4.1.3":"2018-01-19T09:02:25.141Z","4.1.4":"2018-01-19T09:49:14.737Z","5.0.0":"2018-08-22T07:42:35.185Z","5.0.1":"2018-08-22T07:52:46.052Z","6.0.1":"2019-01-19T06:47:41.677Z","6.0.2":"2019-01-19T08:11:14.932Z"},"author":{"name":"amanvirk"},"license":"MIT","readmeFilename":"","description":"Nodejs http response builder","homepage":"https://github.com/poppinss/node-res#readme","keywords":["node-res","http","response","http-res","response","builder","res","builder"],"repository":{"type":"git","url":"git+https://github.com/poppinss/node-res.git"},"bugs":{"url":"https://github.com/poppinss/node-res/issues"}}