{"_id":"connect-slashes","_rev":"32-044ac282f0b49aab70868e73af10fcd1","name":"connect-slashes","description":"Trailing slash redirect middleware for Connect and Express.js","dist-tags":{"latest":"1.4.0"},"versions":{"0.0.1":{"name":"connect-slashes","version":"0.0.1","description":"Connect trailing slashes middleware","keywords":["slashes","connect","middleware"],"author":{"name":"Roi Avinoam"},"dependencies":{},"main":"index","engines":{"node":"*"},"_npmUser":{"name":"avinoamr","email":"avinoamr@gmail.com"},"_id":"connect-slashes@0.0.1","devDependencies":{},"optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.4","_nodeVersion":"v0.6.12","_defaultsLoaded":true,"dist":{"shasum":"d2e59088252d749685c140f42a85ebfa463c5513","tarball":"https://registry.npmjs.org/connect-slashes/-/connect-slashes-0.0.1.tgz","integrity":"sha512-WHfUsMsKwzmEW9plmBFGJ34ze7Ip26CzjOZdgtub2D1bOgbUmCKXQHmgAKYG7E/VRF07lMuNwS2CSPBjzDBBsQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDkfSFwxSS0N7CywkwAx0cyeRvb+0gs6HMlYuiAppiSiQIhALEIoQP1KSrGfVSi6LhmsIEWZTtFy8RSKksQxkdWKc7/"}]},"maintainers":[{"name":"avinoamr","email":"avinoamr@gmail.com"}],"directories":{}},"0.0.2":{"name":"connect-slashes","version":"0.0.2","description":"Trailing slash redirect middleware for Connect","keywords":["trailing","slash","connect","middleware"],"author":{"name":"Roi Avinoam","email":"avinoamr@gmail.com"},"dependencies":{},"main":"index","engines":{"node":"*"},"_npmUser":{"name":"avinoamr","email":"avinoamr@gmail.com"},"_id":"connect-slashes@0.0.2","devDependencies":{},"optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.4","_nodeVersion":"v0.6.12","_defaultsLoaded":true,"dist":{"shasum":"bf8e5d474b30adbe9626aea97185b1f8dfeaba77","tarball":"https://registry.npmjs.org/connect-slashes/-/connect-slashes-0.0.2.tgz","integrity":"sha512-dAOFspC1coJsIqUTtlRnVnczrZ4iW2ecyZJjOi+b7Q7TBOUidZkNzO2yxRujfxg2mABJ8VRQ7jOqNm4aGwo2Nw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDmkcwg9iTnz5Or45iiY8qDDDtpyvf2JRrS5UyPb8+iwQIhAKa7wE1HgCHIRiUCcMNRQxHCfDULDPQW1netQwQKTKAe"}]},"maintainers":[{"name":"avinoamr","email":"avinoamr@gmail.com"}],"directories":{}},"0.0.9":{"name":"connect-slashes","version":"0.0.9","description":"Trailing slash redirect middleware for Connect","keywords":["trailing","slash","connect","middleware"],"author":{"name":"Roi Avinoam","email":"avinoamr@gmail.com"},"contributors":[{"name":"Feross Aboukhadijeh","email":"feross@feross.org","url":"http://feross.org"},{"name":"brunogfranca","url":"https://github.com/brunogfranca"}],"dependencies":{},"main":"index","engines":{"node":"*"},"_npmUser":{"name":"avinoamr","email":"avinoamr@gmail.com"},"_id":"connect-slashes@0.0.9","devDependencies":{},"optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.4","_nodeVersion":"v0.6.19","_defaultsLoaded":true,"dist":{"shasum":"d4680703c8abed3a71099c310ee9b6690342fc49","tarball":"https://registry.npmjs.org/connect-slashes/-/connect-slashes-0.0.9.tgz","integrity":"sha512-wsbA9iZ9i8eLk0dfUEEPwYTa4VIdjPWmHGn5oGn1tXgvjIr97LmCNmB3bY+py4KnVWsYOXz7rsa+bGLueY7FRA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAqZEsncPkzd+eiiMmKyPI77G+7B4iRRtkX4OOHPVSdDAiEA9I9UHM03HNARAyu10KOy71naRVY2p6mMK4UFbsjG5vQ="}]},"maintainers":[{"name":"avinoamr","email":"avinoamr@gmail.com"}],"directories":{}},"0.0.10":{"name":"connect-slashes","version":"0.0.10","description":"Trailing slash redirect middleware for Connect","keywords":["trailing","slash","connect","middleware"],"author":{"name":"Roi Avinoam","email":"avinoamr@gmail.com"},"contributors":[{"name":"Feross Aboukhadijeh","email":"feross@feross.org","url":"http://feross.org"},{"name":"brunogfranca","url":"https://github.com/brunogfranca"}],"repository":{"type":"git","url":"git@github.com:avinoamr/connect-slashes.git"},"dependencies":{},"main":"index","engines":{"node":"*"},"_npmUser":{"name":"avinoamr","email":"avinoamr@gmail.com"},"_id":"connect-slashes@0.0.10","devDependencies":{},"optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.4","_nodeVersion":"v0.6.19","_defaultsLoaded":true,"dist":{"shasum":"fb370052e39f1d8c41842f947256e9497a3addae","tarball":"https://registry.npmjs.org/connect-slashes/-/connect-slashes-0.0.10.tgz","integrity":"sha512-f0EMUMmgixeZE0k9BT+sI5EoZhYea1UVHGKoRwaymnVKiTtE5bYSBjBDV7+nL6QB91LnC2NrVtzGQcfGnhWB+A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCpZ+e3SWGYX4K1mynL5Gj06IGCgwxWQuiDYylOcpcfwgIhAOsLtwG4uTtX71EqXCqBMvShEqkF1uIKQaihBhs8Nk29"}]},"maintainers":[{"name":"avinoamr","email":"avinoamr@gmail.com"}],"directories":{}},"0.0.11":{"name":"connect-slashes","version":"0.0.11","description":"Trailing slash redirect middleware for Connect","keywords":["trailing","slash","connect","middleware"],"author":{"name":"Roi Avinoam","email":"avinoamr@gmail.com"},"contributors":[{"name":"Feross Aboukhadijeh","email":"feross@feross.org","url":"http://feross.org"},{"name":"brunogfranca","url":"https://github.com/brunogfranca"}],"repository":{"type":"git","url":"https://github.com/avinoamr/connect-slashes.git"},"dependencies":{},"main":"index","license":"MIT","engines":{"node":"*"},"_id":"connect-slashes@0.0.11","dist":{"shasum":"4b44efae7599cc03ee20b24e9287272f41d62258","tarball":"https://registry.npmjs.org/connect-slashes/-/connect-slashes-0.0.11.tgz","integrity":"sha512-788mcIKrQseDHC6eUTYn+wNietirmsNOmy6LUbX/V0oQm8+M3WmQ0yJp41LEPjLFoE+nFlC5ERZFYUhIK2m7Rg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCdatR0QLoqMIiocKm0cwDr5kvQLLZaTSTqNvo9YxG7FAIhAJTTpanA38LG0bLeYUwu2c4+810ARIyiD0LieZZOGteq"}]},"_from":".","_npmVersion":"1.2.18","_npmUser":{"name":"avinoamr","email":"avinoamr@gmail.com"},"maintainers":[{"name":"avinoamr","email":"avinoamr@gmail.com"}],"directories":{}},"1.0.2":{"name":"connect-slashes","version":"1.0.2","description":"Trailing slash redirect middleware for Connect","keywords":["trailing","slash","connect","middleware"],"author":{"name":"Roi Avinoam","email":"avinoamr@gmail.com"},"contributors":[{"name":"Feross Aboukhadijeh","email":"feross@feross.org","url":"http://feross.org"},{"name":"brunogfranca","url":"https://github.com/brunogfranca"}],"repository":{"type":"git","url":"https://github.com/avinoamr/connect-slashes.git"},"devDependencies":{"mocha":"~1.14.0"},"main":"index","license":"MIT","engines":{"node":"*"},"_id":"connect-slashes@1.0.2","dist":{"shasum":"2ebd92196e4f9b63282dc8f46c253d2efe5c3e09","tarball":"https://registry.npmjs.org/connect-slashes/-/connect-slashes-1.0.2.tgz","integrity":"sha512-X+3s/vLbnmxIcCDXaxJ0rDW/cxAuKhf51eIqc6mOBE/E168x1lG+HrZuYgIPG8AHDC28eF2ICLpc/t/DK2A/Tw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDbNP1G0/5Z806bmQJOMmX855b17GmEKMsXUYYB5LP0TQIhAPeCpeM+xeDOOdPpjtIH6V4GEwaC8EWp4QDsctFkESHi"}]},"_from":".","_npmVersion":"1.2.18","_npmUser":{"name":"avinoamr","email":"avinoamr@gmail.com"},"maintainers":[{"name":"avinoamr","email":"avinoamr@gmail.com"}],"directories":{}},"1.2.0":{"name":"connect-slashes","version":"1.2.0","description":"Trailing slash redirect middleware for Connect and Express.js","keywords":["trailing","slash","connect","middleware","express"],"author":{"name":"Roi Avinoam","email":"avinoamr@gmail.com"},"contributors":[{"name":"Feross Aboukhadijeh","email":"feross@feross.org","url":"http://feross.org"},{"name":"brunogfranca","url":"https://github.com/brunogfranca"}],"repository":{"type":"git","url":"https://github.com/avinoamr/connect-slashes.git"},"devDependencies":{"mocha":"~1.14.0"},"main":"index","license":"MIT","engines":{"node":"*"},"_id":"connect-slashes@1.2.0","dist":{"shasum":"5a83ef77ab6aadf030a4fe48d791756a0e83bdb2","tarball":"https://registry.npmjs.org/connect-slashes/-/connect-slashes-1.2.0.tgz","integrity":"sha512-P8HBDRBqQ87nFxj9SbqQJyTJsRsl1FHrq1APZDa3TAp7QLIxV7GictT4qnsL5PJXxSbFv6Mj+Wr5Z2WcnseA1g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD8CDnScO/mJptbk640KpV0NOWcBMYpnbz2phqE6TEpjAIhAMKITasYpx2RTbPscSWAAw0MKH4nnRofQYkpRvEXq7iL"}]},"_from":".","_npmVersion":"1.2.18","_npmUser":{"name":"avinoamr","email":"avinoamr@gmail.com"},"maintainers":[{"name":"avinoamr","email":"avinoamr@gmail.com"}],"directories":{}},"1.3.0":{"name":"connect-slashes","version":"1.3.0","description":"Trailing slash redirect middleware for Connect and Express.js","keywords":["trailing","slash","connect","middleware","express"],"author":{"name":"Roi Avinoam","email":"avinoamr@gmail.com"},"contributors":[{"name":"Feross Aboukhadijeh","email":"feross@feross.org","url":"http://feross.org"},{"name":"brunogfranca","url":"https://github.com/brunogfranca"}],"repository":{"type":"git","url":"https://github.com/avinoamr/connect-slashes.git"},"devDependencies":{"mocha":"~1.14.0"},"scripts":{"test":"node_modules/mocha/bin/mocha"},"main":"index","license":"MIT","engines":{"node":"*"},"gitHead":"ce20e784133a05b6ac0d86a366f221a0bffc56d4","bugs":{"url":"https://github.com/avinoamr/connect-slashes/issues"},"homepage":"https://github.com/avinoamr/connect-slashes","_id":"connect-slashes@1.3.0","_shasum":"a4d13f4712c3e39b922c4a2c8bb2d55c856972b0","_from":".","_npmVersion":"2.0.2","_nodeVersion":"0.10.32","_npmUser":{"name":"avinoamr","email":"avinoamr@gmail.com"},"maintainers":[{"name":"avinoamr","email":"avinoamr@gmail.com"}],"dist":{"shasum":"a4d13f4712c3e39b922c4a2c8bb2d55c856972b0","tarball":"https://registry.npmjs.org/connect-slashes/-/connect-slashes-1.3.0.tgz","integrity":"sha512-x8PHy2hFl2O67O2bJ/LJHW8ckUP4UiDb5B7c07A2vd0OsWDRXIME7XpY48dFtSi8+iL/q1YK/DWR+09Gjav8LA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD9HF84H75gZnA7Y4d/Ewb+FFtavn2KzYk+W96sqwng6AIhAPjaihWDwsHSldfKncjkio8wTNtKwppM8Qix3kUQ5JMH"}]},"directories":{}},"1.3.1":{"name":"connect-slashes","version":"1.3.1","description":"Trailing slash redirect middleware for Connect and Express.js","keywords":["trailing","slash","connect","middleware","express"],"author":{"name":"Roi Avinoam","email":"avinoamr@gmail.com"},"contributors":[{"name":"Feross Aboukhadijeh","email":"feross@feross.org","url":"http://feross.org"},{"name":"brunogfranca","url":"https://github.com/brunogfranca"}],"repository":{"type":"git","url":"https://github.com/avinoamr/connect-slashes.git"},"devDependencies":{"mocha":"~1.14.0"},"scripts":{"test":"node_modules/mocha/bin/mocha"},"main":"index","license":"MIT","engines":{"node":"*"},"gitHead":"a247024ef2c04b11c1b5fcd66d1c8b403ce5e416","bugs":{"url":"https://github.com/avinoamr/connect-slashes/issues"},"homepage":"https://github.com/avinoamr/connect-slashes","_id":"connect-slashes@1.3.1","_shasum":"95d61830d0f9d5853c8688f0b5f43988b186ac37","_from":".","_npmVersion":"2.7.5","_nodeVersion":"0.12.2","_npmUser":{"name":"avinoamr","email":"avinoamr@gmail.com"},"maintainers":[{"name":"avinoamr","email":"avinoamr@gmail.com"}],"dist":{"shasum":"95d61830d0f9d5853c8688f0b5f43988b186ac37","tarball":"https://registry.npmjs.org/connect-slashes/-/connect-slashes-1.3.1.tgz","integrity":"sha512-HH94EwngiHznGOAU/uRe1J/UwjzzXULtZd7DnoqbbUgshVHSXXzVe0vcf23AQxt8WPYD8v4faf6n4thByRJFdw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCXH2ZSFlhFz5WPV7La2XhjZEoI8Rw468UIJ2rd1thilgIhALOPth1Wveat+qN39DGa9ThfbNntp2wJtBRI4eRCxw23"}]},"directories":{}},"1.4.0":{"name":"connect-slashes","version":"1.4.0","description":"Trailing slash redirect middleware for Connect and Express.js","keywords":["trailing","slash","connect","middleware","express"],"author":{"name":"Roi Avinoam","email":"avinoamr@gmail.com"},"contributors":[{"name":"Feross Aboukhadijeh","email":"feross@feross.org","url":"http://feross.org"},{"name":"brunogfranca","url":"https://github.com/brunogfranca"}],"repository":{"type":"git","url":"git+https://github.com/avinoamr/connect-slashes.git"},"devDependencies":{"mocha":"^5.2.0"},"scripts":{"test":"node_modules/mocha/bin/mocha"},"main":"index","license":"MIT","engines":{"node":"*"},"gitHead":"b46d9abe0173bb65480d4cde7d54a35fa37a162c","bugs":{"url":"https://github.com/avinoamr/connect-slashes/issues"},"homepage":"https://github.com/avinoamr/connect-slashes#readme","_id":"connect-slashes@1.4.0","_nodeVersion":"11.4.0","_npmVersion":"6.8.0","dist":{"integrity":"sha512-BJRbgSczzlsRwyF64DxGNIizBTxUf7f/tAsDzq2Nq8eLrm2160vVfm/4vQcjrT4qVFu6qDCqPK+vDaEWJsnSzA==","shasum":"fe884e9d130e9bd0a40d8ee502c1dfa269f94373","tarball":"https://registry.npmjs.org/connect-slashes/-/connect-slashes-1.4.0.tgz","fileCount":7,"unpackedSize":13058,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJck/AcCRA9TVsSAnZWagAAH6QP/1Y+HkWyX6P8UKGVcufu\n0JSfvfnrF15vy7ITej6DCu5MCsg4fhLbvCL6Wnat4xbZKevp6pKEJsQsndIJ\nKvtcNBVpS221O7SKqTZQ9Unp71UcwqzKK30ynEc+B+jcxkB2b2OC5DjjVmRM\nf19AtXI/PCi/7j/vRot3RyWVekeJrWQTX/ABV+iNVspMURa1fMTGiKFG2iZ0\no3H/mfhwghh7JY2h0jSJ/Z+7aGULh7kIpul87OydnEI/jD0TwdK/GAWXuioy\n/qK97yhpRU4bQJ/Z9rzf/8ClTtVy14q6XzLGYVo1k/pxeBBS3gDuDR5yL5Qx\n0oD5O7+/1SCeZa6wf75+GgFPiNxkdBOUgtvCb21FkeRepDArmQJ47VnEXz0m\n9nephmC+IcFo+aKovAjt/GkpaVqxXSuuFeBokVAGF8aG2h7K4YkKpyIhziTz\n+f2BEq1FZ4UITXjpBYNFhCyqmdMW4j8HjMAWj7reKC30BZ6FvQw5xOJh7x7o\npqhO1NekF1mEPTuI4TWlCydGzR5qfXv9Y9m7OecIDzZAnhO8irKkWhMBnhGu\nLpkQjRkGT6EOh7KFaACR1qB9g7eMPr5UVccuUTqJLxbwHUhRMSvDFplKSZKI\n1NCytTDDjcB/tp+8rwxGJLQh3MqKFeQbQf1meVtBgzzpIwwcXJcqbHHA7WEh\n1Bb1\r\n=mOZW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGJLNnP5+23lKnIw7HSnHPaIvzA3e5kTrkUVFFFlIyQ6AiAHdH4e1uZ+M+7zy7EG9QmUR0eS/laQmU1BrzTMsiTCOQ=="}]},"maintainers":[{"name":"avinoamr","email":"avinoamr@gmail.com"}],"_npmUser":{"name":"avinoamr","email":"avinoamr@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/connect-slashes_1.4.0_1553199131462_0.45309586575395566"},"_hasShrinkwrap":false}},"readme":"connect-slashes\n===============\n\nTrailing slash redirect middleware for Connect and Express.js. Useful for creating canonical urls in your Node.js applications.\n\n## Installation\n\n```\n$ npm install connect-slashes\n```\n\n## Usage\n\n```javascript\nvar connect = require(\"connect\")\n  , slashes = require(\"connect-slashes\");\n\nconnect() // or express()\n  .use(connect.static())\n  .use(slashes()) // must come after static middleware!\n  .listen(3000);\n```\n\nAlternatively, you can pass `false` as the first argument to `.slashes()` in order to remove trailing slashes instead of appending them:\n\n```javascript\n.use(slashes(false));\n```\n\n## Additional settings\n\nYou can also pass a second argument with an options object. For example, if an application is behind a reverse proxy server that removes part of the URL (a base_path) before proxying to the application, then the `base` can be specified with an option:\n\n```javascript\n.use(slashes(true, { base: \"/blog\" })); // prepends a base url to the redirect\n```\n\nBy default, all redirects are using the 301 Moved Permanently header. You can change this behavior by passing in the optional `code` option:\n\n```javascript\n.use(slashes(true, { code: 302 })); // 302 Temporary redirects\n```\n\nYou can also set additional headers to the redirect response with the `headers` option:\n\n```javascript\n.use(slashes(true, { headers: { \"Cache-Control\": \"public\" } }));\n```\n\n## Notes\n\n1. Only GET, HEAD, and OPTIONS requests will be redirected (to avoid losing POST/PUT data)\n2. This middleware will append or remove a trailing slash to all request urls. This includes filenames (/app.css => /app.css/), so it may break your static files. Make sure to `.use()` this middleware only after the `connect.static()` middleware.\n\n## LICENSE\n\nMIT\n","maintainers":[{"name":"avinoamr","email":"avinoamr@gmail.com"}],"time":{"modified":"2022-06-13T21:45:31.496Z","created":"2012-07-07T18:29:14.286Z","0.0.1":"2012-07-07T18:29:16.612Z","0.0.2":"2012-07-07T18:51:51.274Z","0.0.9":"2012-11-18T17:08:49.206Z","0.0.10":"2012-11-18T18:07:41.889Z","0.0.11":"2013-10-27T11:45:37.480Z","1.0.2":"2013-11-19T12:56:59.211Z","1.2.0":"2013-12-29T13:49:32.837Z","1.3.0":"2014-10-06T13:45:37.413Z","1.3.1":"2015-05-29T09:21:42.874Z","1.4.0":"2019-03-21T20:12:11.647Z"},"author":{"name":"Roi Avinoam","email":"avinoamr@gmail.com"},"repository":{"type":"git","url":"git+https://github.com/avinoamr/connect-slashes.git"},"users":{"davidhalldor":true,"drspaceman":true,"luuhoangnam":true,"karthickt":true,"karlbateman":true,"largepuma":true,"j3kz":true,"rocket0191":true},"homepage":"https://github.com/avinoamr/connect-slashes#readme","keywords":["trailing","slash","connect","middleware","express"],"contributors":[{"name":"Feross Aboukhadijeh","email":"feross@feross.org","url":"http://feross.org"},{"name":"brunogfranca","url":"https://github.com/brunogfranca"}],"bugs":{"url":"https://github.com/avinoamr/connect-slashes/issues"},"license":"MIT","readmeFilename":"README.md"}