{"_id":"incoming-message-hash","_rev":"10-0c33c130fe318a74996ac940b352a4db","name":"incoming-message-hash","description":"Generate a one-way hash from an http.IncomingMessage","dist-tags":{"latest":"5.0.0"},"versions":{"3.2.0":{"name":"incoming-message-hash","version":"3.2.0","description":"Generate a one-way hash from an http.IncomingMessage","main":"index.js","scripts":{"test":"mocha"},"keywords":["http","https","IncomingMessage","request","hash","md5","crypto","stream","fingerprint"],"author":{"name":"Jeremy Ruppel"},"license":"MIT","devDependencies":{"mocha":"~2.4.5","semver":"~5.1.0","supertest":"~1.1.0"},"dependencies":{},"gitHead":"401227fccb6d796824ba7be6003b823669255bef","_id":"incoming-message-hash@3.2.0","_shasum":"52199a61d8fd978deb264965ec7a4c6724f69bbd","_from":".","_npmVersion":"2.14.2","_nodeVersion":"4.0.0","_npmUser":{"name":"jeremyruppel","email":"jeremy.ruppel@gmail.com"},"dist":{"shasum":"52199a61d8fd978deb264965ec7a4c6724f69bbd","tarball":"https://registry.npmjs.org/incoming-message-hash/-/incoming-message-hash-3.2.0.tgz","integrity":"sha512-oSQAgAWkqbyaFBCUEeqD8wU0uFAVtiSJntpBXfrxVZw01C9V0c/Hl/V2XulxnVQxeyHMBBdgGMV0I69erXEBOg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGAYDRmkNIopkW2wext5bWa80hneJ5k/LkvVAqC3pw6TAiBRB6ForSIHlZ8B05DcUJaNyVrk5sFnMrjvVWmdwo8Kow=="}]},"maintainers":[{"name":"jeremyruppel","email":"jeremy.ruppel@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/incoming-message-hash-3.2.0.tgz_1459642417065_0.607508113142103"},"directories":{}},"3.2.1":{"name":"incoming-message-hash","version":"3.2.1","description":"Generate a one-way hash from an http.IncomingMessage","main":"index.js","scripts":{"test":"mocha"},"keywords":["http","https","IncomingMessage","request","hash","md5","crypto","stream","fingerprint"],"files":["example.js","index.js"],"author":{"name":"Jeremy Ruppel"},"license":"MIT","devDependencies":{"mocha":"~2.4.5","semver":"~5.1.0","supertest":"~1.1.0"},"dependencies":{},"gitHead":"8112e83dc090ec7b4cd12f23626846db609a5c57","_id":"incoming-message-hash@3.2.1","_shasum":"c99299cff5f0ed5543219ee12088d1f59155d9c1","_from":".","_npmVersion":"3.3.6","_nodeVersion":"5.0.0","_npmUser":{"name":"jeremyruppel","email":"jeremy.ruppel@gmail.com"},"dist":{"shasum":"c99299cff5f0ed5543219ee12088d1f59155d9c1","tarball":"https://registry.npmjs.org/incoming-message-hash/-/incoming-message-hash-3.2.1.tgz","integrity":"sha512-LRpByPc+D4EbzmDMWtkfUWUiLM8cQ+HVEwFSOzGdQv4RouG3kPyiaGxi7AroseBlEbLR9tcubeFgJA868xQE2g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDU9GEICWWZLDQW0NuRtkcaYSilrhG1WNxLcZ0ROaYa7QIhAPe9o8aRo5UY0nnuHeNyOmhKAxZB+bP47GXTJy6FgrPc"}]},"maintainers":[{"name":"jeremyruppel","email":"jeremy.ruppel@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/incoming-message-hash-3.2.1.tgz_1459648622863_0.0011140524875372648"},"directories":{}},"3.2.2":{"name":"incoming-message-hash","version":"3.2.2","description":"Generate a one-way hash from an http.IncomingMessage","main":"index.js","scripts":{"test":"mocha"},"keywords":["http","https","IncomingMessage","request","hash","md5","crypto","stream","fingerprint"],"repository":{"type":"git","url":"git+ssh://git@github.com/flickr/incoming-message-hash.git"},"author":{"name":"Jeremy Ruppel"},"license":"MIT","devDependencies":{"mocha":"~2.4.5","semver":"~5.1.0","supertest":"~1.1.0"},"dependencies":{},"gitHead":"adf59feee2c71e135a91675fcfce6d5fe79de26a","bugs":{"url":"https://github.com/flickr/incoming-message-hash/issues"},"homepage":"https://github.com/flickr/incoming-message-hash#readme","_id":"incoming-message-hash@3.2.2","_shasum":"9e3b6d86f94354450f41829a3155eee59608a4f1","_from":".","_npmVersion":"2.14.18","_nodeVersion":"0.10.40","_npmUser":{"name":"jeremyruppel","email":"jeremy.ruppel@gmail.com"},"dist":{"shasum":"9e3b6d86f94354450f41829a3155eee59608a4f1","tarball":"https://registry.npmjs.org/incoming-message-hash/-/incoming-message-hash-3.2.2.tgz","integrity":"sha512-7pHrb4jnH7ZkBPy+Rv1qzb3TlE2WA6/P96cT0jv2kA9v4YE4tUyvzUtP4fnq8bYDBclPvy5Rtuff8YRqXkwvSg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCIfMs0/jmHJ8ktY6/shrhuWCu88GueLi21HvHzawX+CwIhAOzFlyD2LJm//pQ9rZ3Uk8OQ9bfAQHVpfUZQxKiY8lC1"}]},"maintainers":[{"name":"jeremyruppel","email":"jeremy.ruppel@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/incoming-message-hash-3.2.2.tgz_1462939228292_0.6598659483715892"},"directories":{}},"4.0.0":{"name":"incoming-message-hash","version":"4.0.0","description":"Generate a one-way hash from an http.IncomingMessage","main":"index.js","scripts":{"lint":"eslint .","test":"mocha"},"keywords":["http","https","IncomingMessage","request","hash","md5","crypto","stream","fingerprint"],"repository":{"type":"git","url":"git+ssh://git@github.com/flickr/incoming-message-hash.git"},"author":{"name":"Jeremy Ruppel"},"license":"MIT","devDependencies":{"eslint":"^4.18.2","eslint-config-flickr":"^2.0.1","mocha":"^6.1.4","semver":"~5.1.0","supertest":"^4.0.2"},"dependencies":{},"gitHead":"431a52791b1093340d084af081746b2dcccfcff7","bugs":{"url":"https://github.com/flickr/incoming-message-hash/issues"},"homepage":"https://github.com/flickr/incoming-message-hash#readme","_id":"incoming-message-hash@4.0.0","_npmVersion":"6.4.1","_nodeVersion":"8.16.0","_npmUser":{"name":"jeremyruppel","email":"jeremy.ruppel@gmail.com"},"dist":{"integrity":"sha512-IUL106dpz+ervWlf8NRfGB2iLuJv2SwMmn/WYbAwOWW6OdrD/sg5sBYPXU7aLXzTF6ASguykKc4WLT3GdmyT2g==","shasum":"6531cbd91601b1e4aa38cdf035e8a6dfcf218e69","tarball":"https://registry.npmjs.org/incoming-message-hash/-/incoming-message-hash-4.0.0.tgz","fileCount":13,"unpackedSize":10807,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdFp2XCRA9TVsSAnZWagAA0IkQAKF1rrXwE0ImvBxeI+B/\nNaQnjM1Q2M5t7wZZlxAIdg+bibJPPtLENzmm7rGlpdHnjlRYP7HOGzdchdkP\nARV8BbYL2DbMCYGT+liw5ycLMr6AbcPtJTQL/TdUs+GgqnHkCVShAOANUcmy\ng6i5gurAP7jwlaMv//KNK0R9Hgs2YxqRVaJzlSA6kz+3qgiX7ZyjYGZ8mRd9\nwSeZDnLlrG6HhBHu4aD2AARN2UCDF545658UbaWkO4tnwo0JklQfMvvHNcw8\n1lONcNdxnIO2RgYKZq9F6CVk03a5paQ3ILZlMJSuJhRJZHwN59llzFfrW2lB\nd56cW/uj5JJeSYb/g5kB+JrNnh9iL0zHKVVeR91kK7/B1QD70ERhu/5m4UO5\nWE/xV5dylt6Byh9dK8mUgnVAddz55Pppo4aiOC8uCJBT3Hg9u53h1/MgqU4j\nS5a1+VwYKpD39HZ6LvWhhps/zb6voXANLLtFvmlgeO2wJRaOUxVTn7zYWfYr\nyE3Z6dM5h7uKxuRWdtM3yWUkEsBWsxm6Gvjfzscr3tjlMyS2uBrYUo6Fqksq\nm0Doh32zcVbv4hbLalVmUUds1VtLvoJVZZ9PYlQkUyJ1VW2/TxNCl2fxp0Oh\nTq0uWeORGujyjAGIv+i/pADWOJ6EKa+rZoQaF+r9ao2RF9dYjw1S+UKXlAqb\nnKCc\r\n=OlMT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDpaVmJYeUE6McfbLCvhCTrpaKDhX7UsfXsZgQghRAEkQIhAPrtZ+Q0+ap88m5zAxrFZd+NV0b4Xx1ygz7jE510Jk0t"}]},"maintainers":[{"name":"jeremyruppel","email":"jeremy.ruppel@gmail.com"},{"name":"superic","email":"eric.willis@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/incoming-message-hash_4.0.0_1561763222781_0.08184984995027156"},"_hasShrinkwrap":false},"4.1.0":{"name":"incoming-message-hash","version":"4.1.0","description":"Generate a one-way hash from an http.IncomingMessage","main":"index.js","engines":{"node":">=12"},"scripts":{"lint":"eslint .","test":"mocha"},"keywords":["http","https","IncomingMessage","request","hash","md5","crypto","stream","fingerprint"],"repository":{"type":"git","url":"git+ssh://git@github.com/flickr/incoming-message-hash.git"},"author":{"name":"Jeremy Ruppel"},"license":"MIT","devDependencies":{"eslint":"^8.2.0","eslint-config-flickr":"^2.0.1","mocha":"^9.1.3","supertest":"^6.1.6"},"dependencies":{},"gitHead":"effc042c98efab2a909c30fb47fe778d164f651a","bugs":{"url":"https://github.com/flickr/incoming-message-hash/issues"},"homepage":"https://github.com/flickr/incoming-message-hash#readme","_id":"incoming-message-hash@4.1.0","_nodeVersion":"12.22.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-9obGGRM/ML8F8EMSFx7dpahmUIBwvdmZr75Za5TmRrzU5dTRcdWJ6gb/ElyiplWwCWGmx0ird4LvlUTdcQ5Vhw==","shasum":"ff47471bbb72cdcdf05166002d1816ccbaca076f","tarball":"https://registry.npmjs.org/incoming-message-hash/-/incoming-message-hash-4.1.0.tgz","fileCount":14,"unpackedSize":12000,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhlXe1CRA9TVsSAnZWagAA1ewP/AshH2AKLjGisT/c90aF\nvUQoPA+raOLvVgW/f6BLJogXfeqTmaSx41TRl1sOCkDBZyEx6hU8hVFR5a24\nSC466dx9XZs2FRvCuugajjkbG+CgS/O3UWlDX2uZflnS4qsMCcU3kQ7eGoan\nvjllG/Yt5ubfB+y6HIEH0wFqTSY0Q/zu95Km/d8tsiEgKW1eYn1+6JvwXSof\nFoqrwXHq0edAHtP+npSqNvhpcHpDpLjF97MINbKF/RKuJX4Rz6tkZd7pXKtd\njbtRPEXU9a3nUod2x02xtviYRFkfVJq0PDZVS2+n85IaLhiBIS0Av4mwDHA7\nPH3+BLHiShR3LKtzjqlsLfcMOi+QYxKyREkprY6X/H4+XCLOyLh3XFxHS2YK\nBYethaFDgLaV+cJBjdCijkzC4dZQztqcq9XzTO5Dc/uviDdxU0fP+cwhw1cR\nL21ed0+qAauRDif4w9Zt1qcMH+YiiD9mJssXVRsSHEy1TYbUHwMXt6snIj+q\n0R2J3u23d1FGj5c3T97iw5cirsUf2kLS3ylX3YScdzApk5+bFlBWY9WByHDa\nJfBIyS8gpezYqrfBs3jV+z0aamnc9c5Fl0dkZhLfJNk5KcLOp1GUyP+Xcv/v\nLNULuryVWvlxcUl3xRCNcDam/iIpkeI2dt0Pu6uS693GNjRLzJ1s1tl4/GAa\npVCe\r\n=3Wyb\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCcCLly5d9+dTg23RjPtK7qYlpG5rvqzTpBRMQo6HawMAIgVnLoRtHJltkVRgMVUrH3hAC5ifJq5NHlsFo2ekyPZzQ="}]},"_npmUser":{"name":"jeremyruppel","email":"jeremy.ruppel@gmail.com"},"directories":{},"maintainers":[{"name":"jeremyruppel","email":"jeremy.ruppel@gmail.com"},{"name":"superic","email":"eric.willis@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/incoming-message-hash_4.1.0_1637185461665_0.7545716370103477"},"_hasShrinkwrap":false},"5.0.0":{"name":"incoming-message-hash","version":"5.0.0","description":"Generate a one-way hash from an http.IncomingMessage","main":"index.js","type":"module","engines":{"node":">=12"},"scripts":{"lint":"eslint .","test":"mocha"},"keywords":["http","https","IncomingMessage","request","hash","md5","crypto","stream","fingerprint"],"repository":{"type":"git","url":"git+ssh://git@github.com/flickr/incoming-message-hash.git"},"author":{"name":"Jeremy Ruppel"},"license":"MIT","devDependencies":{"eslint":"^8.2.0","eslint-config-flickr":"^2.0.1","mocha":"^9.1.3","supertest":"^6.1.6"},"dependencies":{},"gitHead":"b91cd5b14fa967cd6c49b4e16f35d719e33b15eb","bugs":{"url":"https://github.com/flickr/incoming-message-hash/issues"},"homepage":"https://github.com/flickr/incoming-message-hash#readme","_id":"incoming-message-hash@5.0.0","_nodeVersion":"12.22.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-dwE5WvFwV73/N2y0mIqG4TNNsga0uBFu8PK1kEb6KLDqaxoapiBLMeDGJiEBPsVnKHb/x1P5EPCswCk/z2flww==","shasum":"7eba7dca4789fd30342d13cddac9d9f7f624ca8d","tarball":"https://registry.npmjs.org/incoming-message-hash/-/incoming-message-hash-5.0.0.tgz","fileCount":4,"unpackedSize":8163,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhlvphCRA9TVsSAnZWagAApIEP/3zeO5EHchIpGEGil4Xr\nQpYT9siNNJegqBHItiWAhak9DPhreSDw7C6gel0otmuwnpprSFQkkDTcBusP\neuoyW4DwtbQvvvZA8n7adAgRaz4/XsP/g/KphwucBW9EY/gxe9YEpI7orG53\ngJsQJNhdEIkHsNFecWvt8axm2pLjbwXNLcCuFpGbTOQBD2myd2G0+VFWi9cH\ngy2Y1iofLCPuvT5Z0HiVkNFg8aMklW0VWlVjP0z3wRz8utW2stErpqX1ISAL\nrzh0JliGoH+CFAoSXFU8HlXyFKHtm16lfztW4ArGCf/7M9rY6EBV1pjHHcVf\npxaW9+A8IYsC82OvzeZgQunx0wO9aq6QJR6oP/r0DiqFu1OQ9Z40jFmzQhhi\nblEVYZ4sOjEY2u8ZhMPbPkCOo/J3fFY9vKXC6NYa67WM1lMmzIcs21oyamJ6\nrwgWDI2D9WONVg8S5uB7w3/13VA8S/0FPeLhA6vcfgQA6irHWRZTtbMO4s3K\n5r6FDGxFv89XPyq5ZbpEZjR0VzfXPFN9QMsmrfb/AGJxeeRN9HiUDgYV2hWd\nZfmzbeR26MT+UEsoV6IjVKEBlHK8FWEHkMfEauCxIBZQ2nnnnkkbIl/PLYw3\nYbgNCxLhD9WXNi7kB2gV/LTwWPGDxlJkJRMqY0RnG+FOZZZlvC1RNm+GkVom\nyMqo\r\n=I1pq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFlt2TciCZoD+Aint+mmQuFUTKB9AwvAMYL2AXfjc5h9AiByfR27Xl7vplHLqH7jQ284lW9klunXhHxi3UgP7s7N8g=="}]},"_npmUser":{"name":"jeremyruppel","email":"jeremy.ruppel@gmail.com"},"directories":{},"maintainers":[{"name":"jeremyruppel","email":"jeremy.ruppel@gmail.com"},{"name":"superic","email":"eric.willis@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/incoming-message-hash_5.0.0_1637284449238_0.6291562100473223"},"_hasShrinkwrap":false}},"readme":"# incoming-message-hash\n\nGenerate a one-way hash from an [http.IncomingMessage][]\n\n## install\n\n``` bash\n$ npm install incoming-message-hash --save\n```\n\n## example\n\nThis example demonstrates how the hashing function returns a different hash based on the IncomingMessage's method, path, query string, headers and body.\n\n``` js\nimport hash from 'incoming-message-hash'\nimport { createServer } from 'http'\n\ncreateServer((req, res) => {\n  req.pipe(hash()).pipe(res)\n}).listen(4567, () => {\n  console.log('Server is listening on port 4567');\n})\n```\n\n``` bash\n$ curl http://localhost:4567; echo\ne91caf6d7b009b5af0fb2e18cff95598\n$ curl http://localhost:4567/foo; echo\n2f24d536fd0ca7c4eb72a8d64440066f\n$ curl http://localhost:4567/foo?a=b; echo\n0bb92c398df54668d9020b835c345cb8\n$ curl http://localhost:4567/foo?a=c; echo\n02bd995c9ebccfc0332619a03ce0a688\n$ curl -H \"Host: www.flickr.com\" http://localhost:4567; echo\nce8f3e6257911a9499923d0deebe56b5\n$ curl -X POST http://localhost:4567; echo\n41ba64dca3f3070b361b302a17742973\n$ curl -X POST -d \"yay\" http://localhost:4567; echo\n64ae029a6a4add75fadb03811a13caa7\n```\n\n## usage\n\n``` js\nvar hash = require('incoming-message-hash');\n```\n\n### hash([algorithm='md5'[, encoding='hex']])\n\nReturns a new [crypto.Hash][] stream using the specified algorithm and encoding (defaults to \"md5\" and \"hex\"). You can pipe your [http.IncomingMessage][] in and get a hash back.\n\n```js\nimport hash from 'incoming-message-hash'\nimport { createServer } from 'http'\n\ncreateServer((req, res) => {\n  req.pipe(hash()).pipe(res)\n})\n```\n\n### hash.sync(req, body[, algorithm='md5'[, encoding='hex']])\n\nSynchronous version of `hash()` that accepts an [http.IncomingMessage][] and its body and returns the hash. You must buffer up the request body yourself if you wish to use this method.\n\n```js\nimport { promise } from 'incoming-message-hash'\nimport { createServer } from 'http'\n\ncreateServer(async function (req, res) {\n  let body = ''\n\n  req.on('data', chunk => body += String(chunk))\n\n  req.on('end', () => {\n    res.end(sync(req, body))\n  })\n})\n```\n\n### hash.promise(req[, algorithm='md5'[, encoding='hex]])\n\nAsynchronous version of `hash()` that accepts an [http.IncomingMessage][] and\nbuffers the body up for you.\n\n```js\nimport { promise } from 'incoming-message-hash'\nimport { createServer } from 'http'\n\ncreateServer(async (req, res) => {\n  res.end(await promise(req))\n})\n```\n\n## license\n\nThis software is free to use under the MIT license. See the [LICENSE][] file for license text and copyright information.\n\n[LICENSE]: https://github.com/flickr/incoming-message-hash/blob/master/LICENSE\n[http.IncomingMessage]: https://nodejs.org/api/http.html#http_class_http_incomingmessage\n[crypto.Hash]: https://nodejs.org/api/crypto.html#crypto_class_hash\n","maintainers":[{"name":"jeremyruppel","email":"jeremy.ruppel@gmail.com"},{"name":"superic","email":"eric.willis@gmail.com"}],"time":{"modified":"2022-06-19T01:01:40.962Z","created":"2016-04-03T00:13:39.326Z","3.2.0":"2016-04-03T00:13:39.326Z","3.2.1":"2016-04-03T01:57:05.316Z","3.2.2":"2016-05-11T04:00:28.787Z","4.0.0":"2019-06-28T23:07:02.931Z","4.1.0":"2021-11-17T21:44:21.809Z","5.0.0":"2021-11-19T01:14:09.408Z"},"keywords":["http","https","IncomingMessage","request","hash","md5","crypto","stream","fingerprint"],"author":{"name":"Jeremy Ruppel"},"license":"MIT","readmeFilename":"README.md","homepage":"https://github.com/flickr/incoming-message-hash#readme","repository":{"type":"git","url":"git+ssh://git@github.com/flickr/incoming-message-hash.git"},"bugs":{"url":"https://github.com/flickr/incoming-message-hash/issues"}}