{"_id":"connect-history-api-fallback","_rev":"2796490","name":"connect-history-api-fallback","description":"Provides a fallback for non-existing directories so that the HTML 5 history API can be used.","dist-tags":{"latest":"2.0.0"},"maintainers":[{"name":"bripkens","email":"bripkens.dev@gmail.com"}],"time":{"modified":"2022-07-12T09:46:17.000Z","created":"2013-05-18T13:47:58.244Z","2.0.0":"2022-06-27T06:53:06.538Z","1.6.0":"2019-01-08T08:33:00.369Z","1.5.0":"2017-11-09T16:48:45.095Z","1.4.0":"2017-10-13T05:05:34.920Z","1.3.0":"2016-08-07T06:53:57.855Z","1.2.0":"2016-03-21T19:12:23.525Z","1.1.0":"2015-04-16T06:38:05.983Z","1.0.0":"2015-04-11T06:06:30.740Z","0.0.5":"2014-10-01T16:54:01.659Z","0.0.4":"2013-07-16T20:13:33.457Z","0.0.3":"2013-07-16T20:02:55.758Z","0.0.2":"2013-07-15T20:04:56.899Z","0.0.1":"2013-05-18T13:47:58.244Z"},"users":{"jabbrwcky":true,"sabrina.luo":true,"travm":true,"staydan":true,"panlw":true,"lore-w":true,"largepuma":true,"ldq-first":true,"yeming":true,"serge-nikitin":true,"tardis103":true,"fakefarm":true,"muzi131313":true,"hewenxuan":true,"ptspzy":true,"edwardxyt":true,"losymear":true,"he313572052":true,"xbilek18":true,"yangteng":true},"author":{"name":"Ben Ripkens","email":"bripkens@gmail.com"},"repository":{"type":"git","url":"git+ssh://git@github.com/bripkens/connect-history-api-fallback.git"},"versions":{"2.0.0":{"name":"connect-history-api-fallback","version":"2.0.0","description":"Provides a fallback for non-existing directories so that the HTML 5 history API can be used.","keyswords":["connect","express","html5","history api","fallback","spa"],"engines":{"node":">=0.8"},"main":"lib/index.js","scripts":{"test":"jest && eslint lib/*.js test/*.js"},"repository":{"type":"git","url":"git+ssh://git@github.com/bripkens/connect-history-api-fallback.git"},"author":{"name":"Ben Ripkens","email":"bripkens@gmail.com"},"contributors":[{"name":"Craig Myles","email":"cr@igmyles.com","url":"http://www.craigmyles.com"}],"license":"MIT","devDependencies":{"eslint":"^5.16.0","jest":"^24.8.0","sinon":"^7.3.2"},"gitHead":"6b58bc97d4a2ff2be0a68dc661df5c7857758a55","bugs":{"url":"https://github.com/bripkens/connect-history-api-fallback/issues"},"homepage":"https://github.com/bripkens/connect-history-api-fallback#readme","_id":"connect-history-api-fallback@2.0.0","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"shasum":"647264845251a0daf25b97ce87834cace0f5f1c8","size":4227,"noattachment":false,"key":"/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/connect-history-api-fallback/download/connect-history-api-fallback-2.0.0.tgz"},"_npmUser":{"name":"bripkens","email":"bripkens@gmail.com"},"directories":{},"maintainers":[{"name":"bripkens","email":"bripkens.dev@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/connect-history-api-fallback_2.0.0_1656312786365_0.09448254445718907"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-06-27T08:34:28.726Z","publish_time":1656312786538,"_cnpm_publish_time":1656312786538},"1.6.0":{"name":"connect-history-api-fallback","version":"1.6.0","description":"Provides a fallback for non-existing directories so that the HTML 5 history API can be used.","keyswords":["connect","html5","history api","fallback","spa"],"engines":{"node":">=0.8"},"main":"lib/index.js","scripts":{"test":"eslint lib/index.js test/index_test.js && nodeunit test/index_test.js"},"repository":{"type":"git","url":"git+ssh://git@github.com/bripkens/connect-history-api-fallback.git"},"author":{"name":"Ben Ripkens","email":"bripkens.dev@gmail.com","url":"http://bripkens.de"},"contributors":[{"name":"Craig Myles","email":"cr@igmyles.com","url":"http://www.craigmyles.com"}],"license":"MIT","devDependencies":{"eslint":"^0.18.0","nodeunit":"^0.11.3","sinon":"^1.14.1"},"gitHead":"5d3a83e22f7d8994106b50ff19242b7739938525","bugs":{"url":"https://github.com/bripkens/connect-history-api-fallback/issues"},"homepage":"https://github.com/bripkens/connect-history-api-fallback#readme","_id":"connect-history-api-fallback@1.6.0","_npmVersion":"6.2.0","_nodeVersion":"10.9.0","_npmUser":{"name":"bripkens","email":"bripkens.dev@gmail.com"},"dist":{"shasum":"8b32089359308d111115d81cad3fceab888f97bc","size":4680,"noattachment":false,"key":"/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/connect-history-api-fallback/download/connect-history-api-fallback-1.6.0.tgz"},"maintainers":[{"name":"bripkens","email":"bripkens.dev@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/connect-history-api-fallback_1.6.0_1546936380183_0.5015516416248609"},"_hasShrinkwrap":false,"publish_time":1546936380369,"_cnpm_publish_time":1546936380369},"1.5.0":{"name":"connect-history-api-fallback","version":"1.5.0","description":"Provides a fallback for non-existing directories so that the HTML 5 history API can be used.","keyswords":["connect","html5","history api","fallback","spa"],"engines":{"node":">=0.8"},"main":"lib/index.js","files":["lib"],"scripts":{"test":"eslint lib/index.js test/index_test.js && nodeunit test/index_test.js"},"repository":{"type":"git","url":"git+ssh://git@github.com/bripkens/connect-history-api-fallback.git"},"author":{"name":"Ben Ripkens","email":"bripkens.dev@gmail.com","url":"http://bripkens.de"},"contributors":[{"name":"Craig Myles","email":"cr@igmyles.com","url":"http://www.craigmyles.com"}],"license":"MIT","devDependencies":{"eslint":"^0.18.0","nodeunit":"^0.9.1","sinon":"^1.14.1"},"gitHead":"9748349e62006ef101c7800d6be8ec37f74fc70c","bugs":{"url":"https://github.com/bripkens/connect-history-api-fallback/issues"},"homepage":"https://github.com/bripkens/connect-history-api-fallback#readme","_id":"connect-history-api-fallback@1.5.0","_shasum":"b06873934bc5e344fef611a196a6faae0aee015a","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.11.5","_npmUser":{"name":"bripkens","email":"bripkens.dev@gmail.com"},"maintainers":[{"name":"bripkens","email":"bripkens.dev@gmail.com"}],"dist":{"shasum":"b06873934bc5e344fef611a196a6faae0aee015a","size":4570,"noattachment":false,"key":"/connect-history-api-fallback/-/connect-history-api-fallback-1.5.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/connect-history-api-fallback/download/connect-history-api-fallback-1.5.0.tgz"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/connect-history-api-fallback-1.5.0.tgz_1510246125020_0.02864476339891553"},"directories":{},"publish_time":1510246125095,"_hasShrinkwrap":false,"_cnpm_publish_time":1510246125095},"1.4.0":{"name":"connect-history-api-fallback","version":"1.4.0","description":"Provides a fallback for non-existing directories so that the HTML 5 history API can be used.","keyswords":["connect","html5","history api","fallback","spa"],"engines":{"node":">=0.8"},"main":"lib/index.js","files":["lib"],"scripts":{"test":"eslint lib/index.js test/index_test.js && nodeunit test/index_test.js"},"repository":{"type":"git","url":"git+ssh://git@github.com/bripkens/connect-history-api-fallback.git"},"author":{"name":"Ben Ripkens","email":"bripkens.dev@gmail.com","url":"http://bripkens.de"},"contributors":[{"name":"Craig Myles","email":"cr@igmyles.com","url":"http://www.craigmyles.com"}],"license":"MIT","devDependencies":{"eslint":"^0.18.0","nodeunit":"^0.9.1","sinon":"^1.14.1"},"gitHead":"7d953fee45b7d2f4e26cb252199ebdd18617f5d6","bugs":{"url":"https://github.com/bripkens/connect-history-api-fallback/issues"},"homepage":"https://github.com/bripkens/connect-history-api-fallback#readme","_id":"connect-history-api-fallback@1.4.0","_shasum":"3db24f973f4b923b0e82f619ce0df02411ca623d","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.11.1","_npmUser":{"name":"bripkens","email":"bripkens.dev@gmail.com"},"maintainers":[{"name":"bripkens","email":"bripkens.dev@gmail.com"}],"dist":{"shasum":"3db24f973f4b923b0e82f619ce0df02411ca623d","size":4525,"noattachment":false,"key":"/connect-history-api-fallback/-/connect-history-api-fallback-1.4.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/connect-history-api-fallback/download/connect-history-api-fallback-1.4.0.tgz"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/connect-history-api-fallback-1.4.0.tgz_1507871134046_0.01949539640918374"},"directories":{},"publish_time":1507871134920,"_cnpm_publish_time":1507871134920,"_hasShrinkwrap":false},"1.3.0":{"name":"connect-history-api-fallback","version":"1.3.0","description":"Provides a fallback for non-existing directories so that the HTML 5 history API can be used.","keyswords":["connect","html5","history api","fallback","spa"],"engines":{"node":">=0.8"},"main":"lib/index.js","scripts":{"test":"eslint lib/index.js test/index_test.js && nodeunit test/index_test.js"},"repository":{"type":"git","url":"git+ssh://git@github.com/bripkens/connect-history-api-fallback.git"},"author":{"name":"Ben Ripkens","email":"bripkens.dev@gmail.com","url":"http://bripkens.de"},"contributors":[{"name":"Craig Myles","email":"cr@igmyles.com","url":"http://www.craigmyles.com"}],"license":"MIT","devDependencies":{"eslint":"^0.18.0","nodeunit":"^0.9.1","sinon":"^1.14.1"},"gitHead":"709252d1b7afbf4b29748ec9a881684603d01f97","bugs":{"url":"https://github.com/bripkens/connect-history-api-fallback/issues"},"homepage":"https://github.com/bripkens/connect-history-api-fallback#readme","_id":"connect-history-api-fallback@1.3.0","_shasum":"e51d17f8f0ef0db90a64fdb47de3051556e9f169","_from":".","_npmVersion":"3.8.9","_nodeVersion":"6.2.0","_npmUser":{"name":"bripkens","email":"bripkens.dev@gmail.com"},"maintainers":[{"name":"bripkens","email":"bripkens.dev@gmail.com"}],"dist":{"shasum":"e51d17f8f0ef0db90a64fdb47de3051556e9f169","size":5570,"noattachment":false,"key":"/connect-history-api-fallback/-/connect-history-api-fallback-1.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/connect-history-api-fallback/download/connect-history-api-fallback-1.3.0.tgz"},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/connect-history-api-fallback-1.3.0.tgz_1470552836120_0.7486736204009503"},"directories":{},"publish_time":1470552837855,"_cnpm_publish_time":1470552837855,"_hasShrinkwrap":false},"1.2.0":{"name":"connect-history-api-fallback","version":"1.2.0","description":"Provides a fallback for non-existing directories so that the HTML 5 history API can be used.","keyswords":["connect","html5","history api","fallback","spa"],"engines":{"node":">=0.8"},"main":"lib/index.js","scripts":{"test":"eslint lib/index.js test/index_test.js && nodeunit test/index_test.js"},"repository":{"type":"git","url":"git+ssh://git@github.com/bripkens/connect-history-api-fallback.git"},"author":{"name":"Ben Ripkens","email":"bripkens.dev@gmail.com","url":"http://bripkens.de"},"contributors":[{"name":"Craig Myles","email":"cr@igmyles.com","url":"http://www.craigmyles.com"}],"license":"MIT","devDependencies":{"eslint":"^0.18.0","nodeunit":"^0.9.1","sinon":"^1.14.1"},"gitHead":"e5bc77c5b1e3c9d07647764675971d262e773ac9","bugs":{"url":"https://github.com/bripkens/connect-history-api-fallback/issues"},"homepage":"https://github.com/bripkens/connect-history-api-fallback#readme","_id":"connect-history-api-fallback@1.2.0","_shasum":"df4a8b05e40362f5b598a1c0a6aa012f21471d40","_from":".","_npmVersion":"3.7.3","_nodeVersion":"5.8.0","_npmUser":{"name":"bripkens","email":"bripkens.dev@gmail.com"},"maintainers":[{"name":"bripkens","email":"bripkens.dev@gmail.com"}],"dist":{"shasum":"df4a8b05e40362f5b598a1c0a6aa012f21471d40","size":5323,"noattachment":false,"key":"/connect-history-api-fallback/-/connect-history-api-fallback-1.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/connect-history-api-fallback/download/connect-history-api-fallback-1.2.0.tgz"},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/connect-history-api-fallback-1.2.0.tgz_1458587541331_0.6849686577916145"},"directories":{},"publish_time":1458587543525,"_cnpm_publish_time":1458587543525,"_hasShrinkwrap":false},"1.1.0":{"name":"connect-history-api-fallback","version":"1.1.0","description":"Provides a fallback for non-existing directories so that the HTML 5 history API can be used.","keyswords":["connect","html5","history api","fallback","spa"],"engines":{"node":">=0.8"},"main":"lib/index.js","scripts":{"test":"eslint lib/index.js test/index_test.js && nodeunit test/index_test.js"},"repository":{"type":"git","url":"http://github.com/bripkens/connect-history-api-fallback.git"},"author":{"name":"Ben Ripkens","email":"bripkens.dev@gmail.com","url":"http://bripkens.de"},"contributors":[{"name":"Craig Myles","email":"cr@igmyles.com","url":"http://www.craigmyles.com"}],"license":"MIT","devDependencies":{"eslint":"^0.18.0","nodeunit":"^0.9.1","sinon":"^1.14.1"},"gitHead":"c4411c155c00c84f0a9fd26e17d810dc6480171b","bugs":{"url":"https://github.com/bripkens/connect-history-api-fallback/issues"},"homepage":"https://github.com/bripkens/connect-history-api-fallback","_id":"connect-history-api-fallback@1.1.0","_shasum":"5a6dee82d9a648cb29131d3f9dd400ffa4593742","_from":".","_npmVersion":"2.7.5","_nodeVersion":"0.10.37","_npmUser":{"name":"bripkens","email":"bripkens.dev@gmail.com"},"maintainers":[{"name":"bripkens","email":"bripkens.dev@gmail.com"}],"dist":{"shasum":"5a6dee82d9a648cb29131d3f9dd400ffa4593742","size":5154,"noattachment":false,"key":"/connect-history-api-fallback/-/connect-history-api-fallback-1.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/connect-history-api-fallback/download/connect-history-api-fallback-1.1.0.tgz"},"directories":{},"publish_time":1429166285983,"_cnpm_publish_time":1429166285983,"_hasShrinkwrap":false},"1.0.0":{"name":"connect-history-api-fallback","version":"1.0.0","description":"Provides a fallback for non-existing directories so that the HTML 5 history API can be used.","keyswords":["connect","html5","history api","fallback","spa"],"engines":{"node":">=0.8"},"main":"lib/index.js","scripts":{"test":"eslint lib/index.js test/index_test.js && nodeunit test/index_test.js"},"repository":{"type":"git","url":"http://github.com/bripkens/connect-history-api-fallback.git"},"author":{"name":"Ben Ripkens","email":"bripkens.dev@gmail.com","url":"http://bripkens.de"},"contributors":[{"name":"Craig Myles","email":"cr@igmyles.com","url":"http://www.craigmyles.com"}],"license":"MIT","devDependencies":{"eslint":"^0.18.0","nodeunit":"^0.9.1","sinon":"^1.14.1"},"gitHead":"7c4738211539505d1e8c2da9a3abbf03feaacc73","bugs":{"url":"https://github.com/bripkens/connect-history-api-fallback/issues"},"homepage":"https://github.com/bripkens/connect-history-api-fallback","_id":"connect-history-api-fallback@1.0.0","_shasum":"a3bdae0c97a0f15b861674725ef4cca6b084d8f6","_from":".","_npmVersion":"2.7.5","_nodeVersion":"0.10.37","_npmUser":{"name":"bripkens","email":"bripkens.dev@gmail.com"},"maintainers":[{"name":"bripkens","email":"bripkens.dev@gmail.com"}],"dist":{"shasum":"a3bdae0c97a0f15b861674725ef4cca6b084d8f6","size":4408,"noattachment":false,"key":"/connect-history-api-fallback/-/connect-history-api-fallback-1.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/connect-history-api-fallback/download/connect-history-api-fallback-1.0.0.tgz"},"directories":{},"publish_time":1428732390740,"_cnpm_publish_time":1428732390740,"_hasShrinkwrap":false},"0.0.5":{"name":"connect-history-api-fallback","version":"0.0.5","description":"Provides a fallback for non-existing directories so that the HTML 5 history API can be used.","keyswords":["connect","html5","history api","fallback","spa"],"engines":{"node":">=0.8"},"main":"lib/index.js","scripts":{"test":"grunt"},"repository":{"type":"git","url":"http://github.com/bripkens/connect-history-api-fallback.git"},"author":{"name":"Ben Ripkens","email":"bripkens.dev@gmail.com","url":"http://bripkens.de"},"license":"MIT","devDependencies":{"grunt":"~0.4.1","grunt-contrib-nodeunit":"~0.1.2"},"bugs":{"url":"https://github.com/bripkens/connect-history-api-fallback/issues"},"homepage":"https://github.com/bripkens/connect-history-api-fallback","_id":"connect-history-api-fallback@0.0.5","dist":{"shasum":"ef0509d0040bfbc486eab5f7f500bb1769cf354a","size":3305,"noattachment":false,"key":"/connect-history-api-fallback/-/connect-history-api-fallback-0.0.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/connect-history-api-fallback/download/connect-history-api-fallback-0.0.5.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"bripkens","email":"bripkens.dev@gmail.com"},"maintainers":[{"name":"bripkens","email":"bripkens.dev@gmail.com"}],"directories":{},"publish_time":1412182441659,"_cnpm_publish_time":1412182441659,"_hasShrinkwrap":false},"0.0.4":{"name":"connect-history-api-fallback","version":"0.0.4","description":"Provides a fallback for non-existing directories so that the HTML 5 history API can be used.","keyswords":["connect","html5","history api","fallback","spa"],"engines":{"node":">=0.8"},"main":"lib/index.js","scripts":{"test":"grunt"},"repository":{"type":"git","url":"http://github.com/bripkens/connect-history-api-fallback.git"},"author":{"name":"Ben Ripkens","email":"bripkens.dev@gmail.com","url":"http://bripkens.de"},"license":"MIT","devDependencies":{"grunt":"~0.4.1","grunt-contrib-nodeunit":"~0.1.2"},"readmeFilename":"README.md","_id":"connect-history-api-fallback@0.0.4","dist":{"shasum":"b430713e14b52df4a97de72bd17d38cbddbe14d3","size":3232,"noattachment":false,"key":"/connect-history-api-fallback/-/connect-history-api-fallback-0.0.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/connect-history-api-fallback/download/connect-history-api-fallback-0.0.4.tgz"},"_from":".","_npmVersion":"1.2.15","_npmUser":{"name":"bripkens","email":"bripkens.dev@gmail.com"},"maintainers":[{"name":"bripkens","email":"bripkens.dev@gmail.com"}],"directories":{},"publish_time":1374005613457,"_cnpm_publish_time":1374005613457,"_hasShrinkwrap":false},"0.0.3":{"name":"connect-history-api-fallback","version":"0.0.3","description":"Provides a fallback for non-existing directories so that the HTML 5 history API can be used.","keyswords":["connect","html5","history api","fallback","spa"],"engines":{"node":">=0.8"},"main":"lib/index.js","scripts":{"test":"grunt"},"repository":{"type":"git","url":"http://github.com/bripkens/connect-history-api-fallback.git"},"author":{"name":"Ben Ripkens","email":"bripkens.dev@gmail.com","url":"http://bripkens.de"},"license":"MIT","devDependencies":{"grunt":"~0.4.1","grunt-contrib-nodeunit":"~0.1.2"},"readmeFilename":"README.md","_id":"connect-history-api-fallback@0.0.3","dist":{"shasum":"946b96eb735defe203c20dfe37c28874ea758a91","size":3166,"noattachment":false,"key":"/connect-history-api-fallback/-/connect-history-api-fallback-0.0.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/connect-history-api-fallback/download/connect-history-api-fallback-0.0.3.tgz"},"_from":".","_npmVersion":"1.2.15","_npmUser":{"name":"bripkens","email":"bripkens.dev@gmail.com"},"maintainers":[{"name":"bripkens","email":"bripkens.dev@gmail.com"}],"directories":{},"publish_time":1374004975758,"_cnpm_publish_time":1374004975758,"_hasShrinkwrap":false},"0.0.2":{"name":"connect-history-api-fallback","version":"0.0.2","description":"Provides a fallback for non-existing directories so that the HTML 5 history API can be used.","keyswords":["connect","html5","history api","fallback","spa"],"engines":{"node":">=0.8"},"main":"lib/index.js","scripts":{"test":"grunt"},"repository":{"type":"git","url":"http://github.com/bripkens/connect-history-api-fallback.git"},"author":{"name":"Ben Ripkens","email":"bripkens.dev@gmail.com","url":"http://bripkens.de"},"license":"MIT","devDependencies":{"grunt":"~0.4.1","grunt-contrib-nodeunit":"~0.1.2"},"readmeFilename":"README.md","_id":"connect-history-api-fallback@0.0.2","dist":{"shasum":"674832149d54813039ed57919ebd89337ebedb9c","size":3082,"noattachment":false,"key":"/connect-history-api-fallback/-/connect-history-api-fallback-0.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/connect-history-api-fallback/download/connect-history-api-fallback-0.0.2.tgz"},"_from":".","_npmVersion":"1.2.15","_npmUser":{"name":"bripkens","email":"bripkens.dev@gmail.com"},"maintainers":[{"name":"bripkens","email":"bripkens.dev@gmail.com"}],"directories":{},"publish_time":1373918696899,"_cnpm_publish_time":1373918696899,"_hasShrinkwrap":false},"0.0.1":{"name":"connect-history-api-fallback","version":"0.0.1","description":"Provides a fallback for non-existing directories so that the HTML 5 history API can be used.","keyswords":["connect","html5","history api","fallback","spa"],"engines":{"node":">=0.8"},"main":"lib/index.js","scripts":{"test":"grunt"},"repository":{"type":"git","url":"http://github.com/bripkens/connect-history-api-fallback.git"},"author":{"name":"Ben Ripkens","email":"bripkens.dev@gmail.com","url":"http://bripkens.de"},"license":"MIT","devDependencies":{"grunt":"~0.4.1","grunt-contrib-nodeunit":"~0.1.2"},"readmeFilename":"README.md","_id":"connect-history-api-fallback@0.0.1","dist":{"shasum":"deb051601f0ebd13727c76b165d73fef52f65975","size":2230,"noattachment":false,"key":"/connect-history-api-fallback/-/connect-history-api-fallback-0.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/connect-history-api-fallback/download/connect-history-api-fallback-0.0.1.tgz"},"_from":".","_npmVersion":"1.2.15","_npmUser":{"name":"bripkens","email":"bripkens.dev@gmail.com"},"maintainers":[{"name":"bripkens","email":"bripkens.dev@gmail.com"}],"directories":{},"publish_time":1368884878244,"_cnpm_publish_time":1368884878244,"_hasShrinkwrap":false}},"readme":"<h1 align=\"center\">connect-history-api-fallback</h1>\n<p align=\"center\">Middleware to proxy requests through a specified index page, useful for Single Page Applications that utilise the HTML5 History API.</p>\n\n<h2>Table of Contents</h2>\n\n<!-- TOC depthFrom:2 depthTo:6 withLinks:1 updateOnSave:1 orderedList:0 -->\n\n- [Introduction](#introduction)\n- [Usage](#usage)\n- [Options](#options)\n\t- [index](#index)\n\t- [rewrites](#rewrites)\n\t- [verbose](#verbose)\n\t- [htmlAcceptHeaders](#htmlacceptheaders)\n\t- [disableDotRule](#disabledotrule)\n\n<!-- /TOC -->\n\n## Introduction\n\nSingle Page Applications (SPA) typically only utilise one index file that is\naccessible by web browsers: usually `index.html`. Navigation in the application\nis then commonly handled using JavaScript with the help of the\n[HTML5 History API](http://www.w3.org/html/wg/drafts/html/master/single-page.html#the-history-interface).\nThis results in issues when the user hits the refresh button or is directly\naccessing a page other than the landing page, e.g. `/help` or `/help/online`\nas the web server bypasses the index file to locate the file at this location.\nAs your application is a SPA, the web server will fail trying to retrieve the file and return a *404 - Not Found*\nmessage to the user.\n\nThis tiny middleware addresses some of the issues. Specifically, it will change\nthe requested location to the index you specify (default being `/index.html`)\nwhenever there is a request which fulfills the following criteria:\n\n 1. The request is a `GET` or `HEAD` request\n 2. which accepts `text/html`,\n 3. is not a direct file request, i.e. the requested path does not contain a\n    `.` (DOT) character and\n 4. does not match a pattern provided in options.rewrites (see options below)\n\n## Usage\n\nThe middleware is available through NPM and can easily be added.\n\n```\nnpm install --save connect-history-api-fallback\n```\n\nImport the library\n\n```javascript\nvar history = require('connect-history-api-fallback');\n```\n\nNow you only need to add the middleware to your application like so\n\n```javascript\nvar connect = require('connect');\n\nvar app = connect()\n  .use(history())\n  .listen(3000);\n```\n\nOf course you can also use this piece of middleware with express:\n\n```javascript\nvar express = require('express');\n\nvar app = express();\napp.use(history());\n```\n\n## Options\nYou can optionally pass options to the library when obtaining the middleware\n\n```javascript\nvar middleware = history({});\n```\n\n### index\nOverride the index (default `/index.html`). This is the request path that will be used when the middleware identifies that the request path needs to be rewritten.\n\nThis is not the path to a file on disk. Instead it is the HTTP request path. Downstream connect/express middleware is responsible to turn this rewritten HTTP request path into actual responses, e.g. by reading a file from disk.\n\n```javascript\nhistory({\n  index: '/default.html'\n});\n```\n\n### rewrites\nOverride the index when the request url matches a regex pattern. You can either rewrite to a static string or use a function to transform the incoming request.\n\nThe following will rewrite a request that matches the `/\\/soccer/` pattern to `/soccer.html`.\n```javascript\nhistory({\n  rewrites: [\n    { from: /\\/soccer/, to: '/soccer.html'}\n  ]\n});\n```\n\nAlternatively functions can be used to have more control over the rewrite process. For instance, the following listing shows how requests to `/libs/jquery/jquery.1.12.0.min.js` and the like can be routed to `./bower_components/libs/jquery/jquery.1.12.0.min.js`. You can also make use of this if you have an API version in the URL path.\n```javascript\nhistory({\n  rewrites: [\n    {\n      from: /^\\/libs\\/.*$/,\n      to: function(context) {\n        return '/bower_components' + context.parsedUrl.pathname;\n      }\n    }\n  ]\n});\n```\n\nThe function will always be called with a context object that has the following properties:\n\n - **parsedUrl**: Information about the URL as provided by the [URL module's](https://nodejs.org/api/url.html#url_url_parse_urlstr_parsequerystring_slashesdenotehost) `url.parse`.\n - **match**: An Array of matched results as provided by `String.match(...)`.\n - **request**: The HTTP request object.\n\n\n### verbose\nThis middleware does not log any information by default. If you wish to activate logging, then you can do so via the `verbose` option or by specifying a logger function.\n\n```javascript\nhistory({\n  verbose: true\n});\n```\n\nAlternatively use your own logger\n\n```javascript\nhistory({\n  logger: console.log.bind(console)\n});\n```\n\n### htmlAcceptHeaders\nOverride the default `Accepts:` headers that are queried when matching HTML content requests (Default: `['text/html', '*/*']`).\n\n```javascript\nhistory({\n  htmlAcceptHeaders: ['text/html', 'application/xhtml+xml']\n})\n```\n\n### disableDotRule\nDisables the dot rule mentioned above:\n\n> […] is not a direct file request, i.e. the requested path does not contain a `.` (DOT) character […]\n\n```javascript\nhistory({\n  disableDotRule: true\n})\n```\n","_attachments":{},"homepage":"https://github.com/bripkens/connect-history-api-fallback#readme","bugs":{"url":"https://github.com/bripkens/connect-history-api-fallback/issues"},"license":"MIT"}