{"_id":"koa-csrf","_rev":"1213810","name":"koa-csrf","description":"CSRF tokens for Koa","dist-tags":{"latest":"3.0.8"},"maintainers":[{"name":"aheckmann","email":"aaron.heckmann+github@gmail.com"},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"juliangruber","email":"julian@juliangruber.com"},{"name":"popomore","email":""}],"time":{"modified":"2021-10-13T05:46:57.000Z","created":"2013-11-07T07:41:17.774Z","3.0.8":"2019-09-09T20:59:13.025Z","3.0.7":"2019-01-13T11:27:18.067Z","3.0.6":"2017-05-08T19:10:05.517Z","3.0.5":"2017-03-16T02:35:44.885Z","3.0.4":"2016-10-02T06:47:42.530Z","3.0.3":"2016-09-18T06:43:29.328Z","3.0.2":"2016-09-12T09:59:24.211Z","2.5.0":"2016-06-06T21:39:31.005Z","2.4.0":"2015-10-31T07:28:57.467Z","2.3.0":"2015-05-17T18:18:33.279Z","2.2.0":"2015-05-17T18:16:28.749Z","2.1.3":"2014-08-22T08:55:43.593Z","2.1.2":"2014-06-18T09:29:54.104Z","2.1.1":"2014-06-16T06:05:55.937Z","2.1.0":"2014-06-12T08:17:17.246Z","2.0.0":"2014-06-08T22:15:55.143Z","1.1.1":"2014-05-14T01:35:08.014Z","1.1.0":"2014-04-06T18:12:16.625Z","1.0.1":"2014-02-16T11:07:03.514Z","1.0.0":"2013-12-21T21:00:33.398Z","0.1.0":"2013-11-15T21:32:17.776Z","0.0.1":"2013-11-07T07:41:17.774Z"},"users":{"phoenix-xsy":true,"xu_q90":true,"caesor":true,"holly":true,"elrolito":true,"jacks":true,"iori20091101":true,"guzgarcia":true,"huarse":true,"djviolin":true,"nisimjoseph":true,"losymear":true},"author":{"name":"Jonathan Ong","email":"me@jongleberry.com","url":"http://jongleberry.com"},"repository":{"type":"git","url":"https://github.com/koajs/csrf.git"},"versions":{"3.0.8":{"name":"koa-csrf","description":"CSRF tokens for Koa","version":"3.0.8","author":{"name":"Jonathan Ong","email":"me@jongleberry.com","url":"http://jongleberry.com"},"bugs":{"url":"koajs/csrf/issues"},"commitlint":{"extends":["@commitlint/config-conventional"]},"contributors":[{"name":"Nick Baugh","email":"niftylettuce@gmail.com","url":"https://github.com/niftylettuce"}],"dependencies":{"csrf":"^3.1.0"},"devDependencies":{"@babel/cli":"^7.6.0","@babel/core":"^7.6.0","@babel/preset-env":"^7.6.0","@commitlint/cli":"latest","@commitlint/config-conventional":"latest","ava":"2.3.0","codecov":"latest","cross-env":"latest","eslint":"latest","eslint-config-xo-lass":"latest","eslint-plugin-node":"^10.0.0","fixpack":"latest","husky":"latest","koa":"^2.8.1","koa-bodyparser":"^4.2.1","koa-convert":"^1.2.0","koa-generic-session":"^2.0.1","lint-staged":"latest","nyc":"latest","remark-cli":"latest","remark-preset-github":"latest","supertest":"^4.0.2","xo":"latest"},"engines":{"node":">= 6.4"},"homepage":"https://github.com/koajs/csrf","husky":{"hooks":{"pre-commit":"lint-staged && npm test","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"keywords":["cross","csrf","forgery","koa","koa2","koa@2","koa@next","koanext","next","request","security","site"],"license":"MIT","lint-staged":{"*.js":["xo --fix","git add"],"*.md":["remark . -qfo","git add"],"package.json":["fixpack","git add"]},"main":"lib/index.js","remarkConfig":{"plugins":["preset-github"]},"repository":{"type":"git","url":"https://github.com/koajs/csrf.git"},"scripts":{"ava":"cross-env NODE_ENV=test ava","build":"npm run build:clean && npm run build:lib","build:clean":"rimraf lib","build:lib":"babel src --out-dir lib","coverage":"nyc report --reporter=text-lcov > coverage.lcov && codecov","lint":"xo && remark . -qfo && eslint lib","nyc":"cross-env NODE_ENV=test nyc ava","test":"npm run build && npm run lint && npm run ava","test-coverage":"npm run build && npm run lint && npm run nyc"},"xo":{"prettier":true,"space":true,"extends":["xo-lass"]},"licenseText":"The MIT License\n\nCopyright (c) 2014- Jonathan Ong <me@jongleberry.com> and Nick Baugh <niftylettuce@gmail.com>\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","_id":"koa-csrf@3.0.8","dist":{"shasum":"028f958aa9d721a341828f6d26e0cf8a54817b4a","size":3683,"noattachment":false,"key":"/koa-csrf/-/koa-csrf-3.0.8.tgz","tarball":"http://registry.cnpm.dingdandao.com/koa-csrf/download/koa-csrf-3.0.8.tgz"},"maintainers":[{"name":"aheckmann","email":"aaron.heckmann+github@gmail.com"},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"juliangruber","email":"julian@juliangruber.com"},{"name":"popomore","email":""}],"_npmUser":{"name":"niftylettuce","email":"niftylettuce@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/koa-csrf_3.0.8_1568062752872_0.27205737413677644"},"_hasShrinkwrap":false,"publish_time":1568062753025,"_cnpm_publish_time":1568062753025},"3.0.7":{"name":"koa-csrf","description":"CSRF tokens for Koa","version":"3.0.7","author":{"name":"Jonathan Ong","email":"me@jongleberry.com","url":"http://jongleberry.com"},"bugs":{"url":"koajs/csrf/issues"},"commitlint":{"extends":["@commitlint/config-conventional"]},"contributors":[{"name":"Nick Baugh","email":"niftylettuce@gmail.com","url":"https://github.com/niftylettuce"}],"dependencies":{"auto-bind":"^2.0.0","csrf":"^3.0.6"},"devDependencies":{"@babel/cli":"^7.2.3","@babel/core":"^7.2.2","@babel/preset-env":"^7.2.3","@commitlint/cli":"latest","@commitlint/config-conventional":"latest","ava":"1.0.1","codecov":"latest","cross-env":"latest","eslint":"latest","eslint-config-xo-lass":"latest","eslint-plugin-node":"^8.0.1","fixpack":"latest","husky":"latest","koa":"^2.6.2","koa-bodyparser":"^4.2.1","koa-convert":"^1.2.0","koa-generic-session":"^2.0.1","lint-staged":"latest","nyc":"latest","remark-cli":"latest","remark-preset-github":"latest","supertest":"^3.3.0","xo":"latest"},"engines":{"node":">= 6.4"},"homepage":"https://github.com/koajs/csrf","husky":{"hooks":{"pre-commit":"lint-staged && npm test","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"keywords":["cross","csrf","forgery","koa","koa2","koa@2","koa@next","koanext","next","request","security","site"],"license":"MIT","lint-staged":{"linters":{"*.js":["xo --fix","git add"],"*.md":["remark . -qfo","git add"],"package.json":["fixpack","git add"]}},"main":"lib/index.js","remarkConfig":{"plugins":["preset-github"]},"repository":{"type":"git","url":"https://github.com/koajs/csrf.git"},"scripts":{"ava":"cross-env NODE_ENV=test ava","build":"npm run build:clean && npm run build:lib","build:clean":"rimraf lib","build:lib":"babel src --out-dir lib","coverage":"nyc report --reporter=text-lcov > coverage.lcov && codecov","lint":"xo && remark . -qfo && eslint lib","nyc":"cross-env NODE_ENV=test nyc ava","test":"npm run build && npm run lint && npm run ava","test-coverage":"npm run build && npm run lint && npm run nyc"},"xo":{"prettier":true,"space":true,"extends":["xo-lass"]},"licenseText":"The MIT License\n\nCopyright (c) 2014- Jonathan Ong <me@jongleberry.com> and Nick Baugh <niftylettuce@gmail.com>\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","_id":"koa-csrf@3.0.7","dist":{"shasum":"3c98a1c9a7890ad7e38913d60fd78e119af45caf","size":3715,"noattachment":false,"key":"/koa-csrf/-/koa-csrf-3.0.7.tgz","tarball":"http://registry.cnpm.dingdandao.com/koa-csrf/download/koa-csrf-3.0.7.tgz"},"maintainers":[{"name":"aheckmann","email":"aaron.heckmann+github@gmail.com"},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"juliangruber","email":"julian@juliangruber.com"},{"name":"popomore","email":""}],"_npmUser":{"name":"niftylettuce","email":"niftylettuce@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/koa-csrf_3.0.7_1547378837893_0.5946789337134193"},"_hasShrinkwrap":false,"publish_time":1547378838067,"_cnpm_publish_time":1547378838067},"3.0.6":{"name":"koa-csrf","description":"CSRF tokens for koa","version":"3.0.6","author":{"name":"Jonathan Ong","email":"me@jongleberry.com","url":"http://jongleberry.com"},"contributors":[{"name":"Nick Baugh","email":"niftylettuce@gmail.com"}],"dependencies":{"csrf":"^3.0.3"},"devDependencies":{"babel-cli":"^6.14.0","babel-plugin-add-module-exports":"^0.2.1","babel-preset-crocodile":"^1.0.0","chai":"^3.5.0","codecov":"^1.0.1","dirty-chai":"^1.2.2","eslint":"^3.17.1","eslint-config-crocodile":"^1.0.0","istanbul":"^1.1.0-alpha.1","koa":"^2.0.0-alpha.3","koa-bodyparser":"^3.2.0","koa-convert":"^1.2.0","koa-generic-session":"^1.11.3","mocha":"^3.0.2","supertest":"^2.0.0"},"engines":{"node":">= 6.x"},"homepage":"https://github.com/koajs/csrf","keywords":["cross","csrf","forgery","koa","koa2","koa@2","koa@next","koanext","next","request","security","site"],"license":"MIT","main":"lib/index.js","repository":{"type":"git","url":"git+https://github.com/koajs/csrf.git"},"scripts":{"analyze-coverage":"babel-node node_modules/.bin/istanbul cover node_modules/.bin/_mocha","check-coverage":"babel-node node_modules/.bin/istanbul check-coverage","compile":"rm -rf lib/ && babel -d lib src","coverage":"rm -rf coverage/ && npm run analyze-coverage && npm run check-coverage && node_modules/.bin/codecov","lint":"eslint .","mocha":"NODE_ENV=test node_modules/.bin/_mocha","prepublish":"npm run test","test":"npm run lint && npm run compile && npm run coverage"},"gitHead":"637d1c4414f5f5528a21f05e79f37e5e3799b333","_id":"koa-csrf@3.0.6","_shasum":"fadeb90590232734844db7dc9288dc6d2432bae4","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.10.0","_npmUser":{"name":"stephenmathieson","email":"me@stephenmathieson.com"},"dist":{"shasum":"fadeb90590232734844db7dc9288dc6d2432bae4","size":19637,"noattachment":false,"key":"/koa-csrf/-/koa-csrf-3.0.6.tgz","tarball":"http://registry.cnpm.dingdandao.com/koa-csrf/download/koa-csrf-3.0.6.tgz"},"maintainers":[{"name":"aheckmann","email":"aaron.heckmann+github@gmail.com"},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"juliangruber","email":"julian@juliangruber.com"},{"name":"popomore","email":""}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/koa-csrf-3.0.6.tgz_1494270603342_0.8586742994375527"},"directories":{},"publish_time":1494270605517,"_cnpm_publish_time":1494270605517,"_hasShrinkwrap":false},"3.0.5":{"name":"koa-csrf","description":"CSRF tokens for koa","version":"3.0.5","author":{"name":"Jonathan Ong","email":"me@jongleberry.com","url":"http://jongleberry.com"},"contributors":[{"name":"Nick Baugh","email":"niftylettuce@gmail.com"}],"dependencies":{"csrf":"^3.0.3"},"devDependencies":{"babel-cli":"^6.14.0","babel-preset-crocodile":"^1.0.0","chai":"^3.5.0","codecov":"^1.0.1","dirty-chai":"^1.2.2","eslint":"^3.17.1","eslint-config-crocodile":"^1.0.0","istanbul":"^1.1.0-alpha.1","koa":"^2.0.0-alpha.3","koa-bodyparser":"^3.2.0","koa-convert":"^1.2.0","koa-generic-session":"^1.11.3","mocha":"^3.0.2","supertest":"^2.0.0"},"engines":{"node":">= 6.x"},"homepage":"https://github.com/koajs/csrf","keywords":["cross","csrf","forgery","koa","koa2","koa@2","koa@next","koanext","next","request","security","site"],"license":"MIT","main":"lib/index.js","repository":{"type":"git","url":"git+https://github.com/koajs/csrf.git"},"scripts":{"analyze-coverage":"babel-node node_modules/.bin/istanbul cover node_modules/.bin/_mocha","check-coverage":"babel-node node_modules/.bin/istanbul check-coverage","compile":"rm -rf lib/ && babel -d lib src","coverage":"rm -rf coverage/ && npm run analyze-coverage && npm run check-coverage && node_modules/.bin/codecov","lint":"eslint .","mocha":"NODE_ENV=test node_modules/.bin/_mocha","prepublish":"npm run test","test":"npm run lint && npm run compile && npm run coverage"},"gitHead":"19628eb24da46d810b084f2108f3e58389834d5a","_id":"koa-csrf@3.0.5","_shasum":"df876b010ac1454e93dc1a4f3ab24a8e644b65e7","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.9.1","_npmUser":{"name":"dead_horse","email":"dead_horse@qq.com"},"dist":{"shasum":"df876b010ac1454e93dc1a4f3ab24a8e644b65e7","size":19480,"noattachment":false,"key":"/koa-csrf/-/koa-csrf-3.0.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/koa-csrf/download/koa-csrf-3.0.5.tgz"},"maintainers":[{"name":"aheckmann","email":"aaron.heckmann+github@gmail.com"},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"juliangruber","email":"julian@juliangruber.com"},{"name":"popomore","email":""}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/koa-csrf-3.0.5.tgz_1489631744660_0.8160401114728302"},"directories":{},"publish_time":1489631744885,"_cnpm_publish_time":1489631744885,"_hasShrinkwrap":false},"3.0.4":{"name":"koa-csrf","description":"CSRF tokens for koa","version":"3.0.4","author":{"name":"Jonathan Ong","email":"me@jongleberry.com","url":"http://jongleberry.com"},"contributors":[{"name":"Nick Baugh","email":"niftylettuce@gmail.com"}],"dependencies":{"csrf":"^3.0.3"},"devDependencies":{"babel-cli":"^6.14.0","babel-preset-crocodile":"^1.0.0","chai":"^3.5.0","codecov":"^1.0.1","dirty-chai":"^1.2.2","eslint-config-crocodile":"^1.0.0","istanbul":"^1.1.0-alpha.1","koa":"^2.0.0-alpha.3","koa-bodyparser":"^3.2.0","koa-convert":"^1.2.0","koa-generic-session":"^1.11.3","mocha":"^3.0.2","supertest":"^2.0.0"},"engines":{"node":">= 6.x"},"homepage":"https://github.com/koajs/csrf","keywords":["cross","csrf","forgery","koa","koa2","koa@2","koa@next","koanext","next","request","security","site"],"license":"MIT","main":"lib/index.js","repository":{"type":"git","url":"git+https://github.com/koajs/csrf.git"},"scripts":{"analyze-coverage":"babel-node node_modules/.bin/istanbul cover node_modules/.bin/_mocha","check-coverage":"babel-node node_modules/.bin/istanbul check-coverage","compile":"rm -rf lib/ && babel -d lib src","coverage":"rm -rf coverage/ && npm run analyze-coverage && npm run check-coverage && node_modules/.bin/codecov","lint":"eslint .","mocha":"NODE_ENV=test node_modules/.bin/_mocha","prepublish":"npm run test","test":"npm run lint && npm run compile && npm run coverage"},"gitHead":"ce2b78907274550f443e80122066c778a0fe0b74","_id":"koa-csrf@3.0.4","_shasum":"87a346f17b726c2e565f2210630c59b0875873b9","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.6.0","_npmUser":{"name":"niftylettuce","email":"niftylettuce@gmail.com"},"maintainers":[{"name":"aheckmann","email":"aaron.heckmann+github@gmail.com"},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"juliangruber","email":"julian@juliangruber.com"},{"name":"popomore","email":""}],"dist":{"shasum":"87a346f17b726c2e565f2210630c59b0875873b9","size":19352,"noattachment":false,"key":"/koa-csrf/-/koa-csrf-3.0.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/koa-csrf/download/koa-csrf-3.0.4.tgz"},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/koa-csrf-3.0.4.tgz_1475390860565_0.6183652468025684"},"directories":{},"publish_time":1475390862530,"_cnpm_publish_time":1475390862530,"_hasShrinkwrap":false},"3.0.3":{"name":"koa-csrf","description":"CSRF tokens for koa","version":"3.0.3","author":{"name":"Jonathan Ong","email":"me@jongleberry.com","url":"http://jongleberry.com"},"contributors":[{"name":"Nick Baugh","email":"niftylettuce@gmail.com"}],"dependencies":{"csrf":"^3.0.3"},"devDependencies":{"babel-cli":"^6.14.0","babel-preset-crocodile":"^1.0.0","chai":"^3.5.0","codecov":"^1.0.1","dirty-chai":"^1.2.2","eslint-config-crocodile":"^1.0.0","istanbul":"^1.1.0-alpha.1","koa":"^2.0.0-alpha.3","koa-bodyparser":"^3.2.0","koa-convert":"^1.2.0","koa-generic-session":"^1.11.3","mocha":"^3.0.2","supertest":"^2.0.0"},"engines":{"node":">= 6.x"},"homepage":"https://github.com/koajs/csrf","keywords":["cross","csrf","forgery","koa","koa2","koa@2","koa@next","koanext","next","request","security","site"],"license":"MIT","main":"lib/index.js","repository":{"type":"git","url":"git+https://github.com/koajs/csrf.git"},"scripts":{"analyze-coverage":"babel-node node_modules/.bin/istanbul cover node_modules/.bin/_mocha","check-coverage":"babel-node node_modules/.bin/istanbul check-coverage","compile":"rm -rf lib/ && babel -d lib src","coverage":"rm -rf coverage/ && npm run analyze-coverage && npm run check-coverage && node_modules/.bin/codecov","lint":"eslint .","mocha":"NODE_ENV=test node_modules/.bin/_mocha","prepublish":"npm run test","test":"npm run lint && npm run compile && npm run coverage"},"gitHead":"9118bb43ca4d2ae3810dc9d117f4a2ff2aa5debe","_id":"koa-csrf@3.0.3","_shasum":"b90819182690cbdd35f0e11e8b55824b116f828d","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.3.1","_npmUser":{"name":"niftylettuce","email":"niftylettuce@gmail.com"},"maintainers":[{"name":"aheckmann","email":"aaron.heckmann+github@gmail.com"},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"juliangruber","email":"julian@juliangruber.com"},{"name":"popomore","email":""}],"dist":{"shasum":"b90819182690cbdd35f0e11e8b55824b116f828d","size":19311,"noattachment":false,"key":"/koa-csrf/-/koa-csrf-3.0.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/koa-csrf/download/koa-csrf-3.0.3.tgz"},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/koa-csrf-3.0.3.tgz_1474181007371_0.9553989176638424"},"directories":{},"publish_time":1474181009328,"_cnpm_publish_time":1474181009328,"_hasShrinkwrap":false},"3.0.2":{"name":"koa-csrf","description":"CSRF tokens for koa","version":"3.0.2","author":{"name":"Jonathan Ong","email":"me@jongleberry.com","url":"http://jongleberry.com"},"contributors":[{"name":"Nick Baugh","email":"niftylettuce@gmail.com"}],"dependencies":{"csrf":"^3.0.3"},"devDependencies":{"babel-cli":"^6.14.0","babel-preset-crocodile":"^1.0.0","chai":"^3.5.0","codecov":"^1.0.1","dirty-chai":"^1.2.2","eslint-config-crocodile":"^1.0.0","istanbul":"^1.1.0-alpha.1","koa":"^2.0.0-alpha.3","koa-bodyparser":"^3.2.0","koa-convert":"^1.2.0","koa-generic-session":"^1.11.3","mocha":"^3.0.2","supertest":"^2.0.0"},"engines":{"node":">= 6.x"},"homepage":"https://github.com/koajs/csrf","keywords":["cross","csrf","forgery","koa","koa2","koa@2","koa@next","koanext","next","request","security","site"],"license":"MIT","main":"lib/index.js","repository":{"type":"git","url":"git+https://github.com/koajs/csrf.git"},"scripts":{"analyze-coverage":"babel-node node_modules/.bin/istanbul cover node_modules/.bin/_mocha","check-coverage":"babel-node node_modules/.bin/istanbul check-coverage","compile":"rm -rf lib/ && babel -d lib src","coverage":"rm -rf coverage/ && npm run analyze-coverage && npm run check-coverage && node_modules/.bin/codecov","lint":"eslint .","mocha":"NODE_ENV=test node_modules/.bin/_mocha","prepublish":"npm run test","test":"npm run lint && npm run compile && npm run coverage"},"gitHead":"80d835989d3c3798c8e771ac92d1c7d53ce05b5b","_id":"koa-csrf@3.0.2","_shasum":"a77b9a959da57fbff2d6aa7db041bf809786b5c6","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.3.1","_npmUser":{"name":"niftylettuce","email":"niftylettuce@gmail.com"},"maintainers":[{"name":"aheckmann","email":"aaron.heckmann+github@gmail.com"},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"juliangruber","email":"julian@juliangruber.com"},{"name":"popomore","email":""}],"dist":{"shasum":"a77b9a959da57fbff2d6aa7db041bf809786b5c6","size":19229,"noattachment":false,"key":"/koa-csrf/-/koa-csrf-3.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/koa-csrf/download/koa-csrf-3.0.2.tgz"},"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/koa-csrf-3.0.2.tgz_1473674362327_0.43978540832176805"},"directories":{},"publish_time":1473674364211,"_cnpm_publish_time":1473674364211,"_hasShrinkwrap":false},"2.5.0":{"name":"koa-csrf","description":"CSRF tokens for koa","version":"2.5.0","author":{"name":"Jonathan Ong","email":"me@jongleberry.com","url":"http://jongleberry.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/koajs/csrf.git"},"dependencies":{"csrf":"^3.0.0"},"devDependencies":{"co-body":"*","istanbul-harmony":"0","koa":"0","koa-session":"^3.1.0","mocha":"*","should":"*","supertest":"*"},"scripts":{"test":"NODE_ENV=test mocha --harmony --reporter spec --require should","test-cov":"NODE_ENV=test node --harmony node_modules/.bin/istanbul cover ./node_modules/.bin/_mocha -- --reporter dot --require should","test-travis":"NODE_ENV=test node --harmony node_modules/.bin/istanbul cover ./node_modules/.bin/_mocha --report lcovonly -- --reporter dot --require should"},"files":["index.js"],"keywords":["koa","csrf"],"gitHead":"5b23a2d0d2266d6f9c814f36513077e51934d0f4","bugs":{"url":"https://github.com/koajs/csrf/issues"},"homepage":"https://github.com/koajs/csrf#readme","_id":"koa-csrf@2.5.0","_shasum":"e23de7c8e1d0cfe1ee7310eb2f3f2eca43dacf8e","_from":".","_npmVersion":"2.14.12","_nodeVersion":"4.2.4","_npmUser":{"name":"stephenmathieson","email":"me@stephenmathieson.com"},"dist":{"shasum":"e23de7c8e1d0cfe1ee7310eb2f3f2eca43dacf8e","size":3244,"noattachment":false,"key":"/koa-csrf/-/koa-csrf-2.5.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/koa-csrf/download/koa-csrf-2.5.0.tgz"},"maintainers":[{"name":"aheckmann","email":"aaron.heckmann+github@gmail.com"},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"juliangruber","email":"julian@juliangruber.com"},{"name":"popomore","email":""}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/koa-csrf-2.5.0.tgz_1465249169139_0.4555125336628407"},"directories":{},"publish_time":1465249171005,"_cnpm_publish_time":1465249171005,"_hasShrinkwrap":false},"2.4.0":{"name":"koa-csrf","description":"CSRF tokens for koa","version":"2.4.0","author":{"name":"Jonathan Ong","email":"me@jongleberry.com","url":"http://jongleberry.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/koajs/csrf.git"},"dependencies":{"csrf":"^3.0.0"},"devDependencies":{"co-body":"*","istanbul-harmony":"0","koa":"0","koa-session":"^3.1.0","mocha":"*","should":"*","supertest":"*"},"scripts":{"test":"NODE_ENV=test mocha --harmony --reporter spec --require should","test-cov":"NODE_ENV=test node --harmony node_modules/.bin/istanbul cover ./node_modules/.bin/_mocha -- --reporter dot --require should","test-travis":"NODE_ENV=test node --harmony node_modules/.bin/istanbul cover ./node_modules/.bin/_mocha --report lcovonly -- --reporter dot --require should"},"files":["index.js"],"keywords":["koa","csrf"],"gitHead":"e6be9895002ee05f164092d7210519d88fbaeee5","bugs":{"url":"https://github.com/koajs/csrf/issues"},"homepage":"https://github.com/koajs/csrf#readme","_id":"koa-csrf@2.4.0","_shasum":"5b35f5c1a7d9efb050e495e4a25abb7e36561e08","_from":".","_npmVersion":"2.14.3","_nodeVersion":"3.3.1","_npmUser":{"name":"popomore","email":"sakura9515@gmail.com"},"maintainers":[{"name":"aheckmann","email":"aaron.heckmann+github@gmail.com"},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"juliangruber","email":"julian@juliangruber.com"},{"name":"popomore","email":""}],"dist":{"shasum":"5b35f5c1a7d9efb050e495e4a25abb7e36561e08","size":3204,"noattachment":false,"key":"/koa-csrf/-/koa-csrf-2.4.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/koa-csrf/download/koa-csrf-2.4.0.tgz"},"directories":{},"publish_time":1446276537467,"_cnpm_publish_time":1446276537467,"_hasShrinkwrap":false},"2.3.0":{"name":"koa-csrf","description":"CSRF tokens for koa","version":"2.3.0","author":{"name":"Jonathan Ong","email":"me@jongleberry.com","url":"http://jongleberry.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/koajs/csrf.git"},"dependencies":{"csrf":"^3.0.0"},"devDependencies":{"co-body":"*","istanbul-harmony":"0","koa":"0","koa-session":"^3.1.0","mocha":"*","should":"*","supertest":"*"},"scripts":{"test":"NODE_ENV=test mocha --harmony --reporter spec --require should","test-cov":"NODE_ENV=test node --harmony node_modules/.bin/istanbul cover ./node_modules/.bin/_mocha -- --reporter dot --require should","test-travis":"NODE_ENV=test node --harmony node_modules/.bin/istanbul cover ./node_modules/.bin/_mocha --report lcovonly -- --reporter dot --require should"},"files":["index.js"],"keywords":["koa","csrf"],"gitHead":"9b6c935a5eba5c2061ae48b045493838d8dc8ea5","bugs":{"url":"https://github.com/koajs/csrf/issues"},"homepage":"https://github.com/koajs/csrf#readme","_id":"koa-csrf@2.3.0","_shasum":"bcd2014cb185c9c89b4febb6c4fe9492a4ce04b0","_from":".","_npmVersion":"2.9.0","_nodeVersion":"2.0.2","_npmUser":{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},"dist":{"shasum":"bcd2014cb185c9c89b4febb6c4fe9492a4ce04b0","size":3134,"noattachment":false,"key":"/koa-csrf/-/koa-csrf-2.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/koa-csrf/download/koa-csrf-2.3.0.tgz"},"maintainers":[{"name":"aheckmann","email":"aaron.heckmann+github@gmail.com"},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"juliangruber","email":"julian@juliangruber.com"},{"name":"popomore","email":""}],"directories":{},"publish_time":1431886713279,"_cnpm_publish_time":1431886713279,"_hasShrinkwrap":false},"2.2.0":{"name":"koa-csrf","description":"CSRF tokens for koa","version":"2.2.0","author":{"name":"Jonathan Ong","email":"me@jongleberry.com","url":"http://jongleberry.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/koajs/csrf.git"},"dependencies":{"csrf":"^3.0.0"},"devDependencies":{"co-body":"*","istanbul-harmony":"0","koa":"0","koa-session":"^3.1.0","mocha":"*","should":"*","supertest":"*"},"scripts":{"test":"NODE_ENV=test mocha --harmony --reporter spec --require should","test-cov":"NODE_ENV=test node --harmony node_modules/.bin/istanbul cover ./node_modules/.bin/_mocha -- --reporter dot --require should","test-travis":"NODE_ENV=test node --harmony node_modules/.bin/istanbul cover ./node_modules/.bin/_mocha --report lcovonly -- --reporter dot --require should"},"files":["index.js"],"keywords":["koa","csrf"],"gitHead":"0763b7acbdd60d616f94c71f0f1a9495694193f4","bugs":{"url":"https://github.com/koajs/csrf/issues"},"homepage":"https://github.com/koajs/csrf#readme","_id":"koa-csrf@2.2.0","_shasum":"6a8edfde32c222951533a8a9bf639c8b7623f6b9","_from":".","_npmVersion":"2.9.0","_nodeVersion":"2.0.2","_npmUser":{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},"dist":{"shasum":"6a8edfde32c222951533a8a9bf639c8b7623f6b9","size":3097,"noattachment":false,"key":"/koa-csrf/-/koa-csrf-2.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/koa-csrf/download/koa-csrf-2.2.0.tgz"},"maintainers":[{"name":"aheckmann","email":"aaron.heckmann+github@gmail.com"},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"juliangruber","email":"julian@juliangruber.com"},{"name":"popomore","email":""}],"directories":{},"publish_time":1431886588749,"_cnpm_publish_time":1431886588749,"_hasShrinkwrap":false},"2.1.3":{"name":"koa-csrf","description":"CSRF tokens for koa","version":"2.1.3","author":{"name":"Jonathan Ong","email":"me@jongleberry.com","url":"http://jongleberry.com"},"license":"MIT","repository":{"type":"git","url":"https://github.com/koajs/csrf"},"dependencies":{"csrf":"~2.0.1"},"devDependencies":{"istanbul-harmony":"0","koa":"0","koa-session":"1","co-body":"*","mocha":"*","should":"*","supertest":"*"},"scripts":{"test":"NODE_ENV=test mocha --harmony-generators --reporter spec --require should","test-cov":"NODE_ENV=test node --harmony-generators node_modules/.bin/istanbul cover ./node_modules/.bin/_mocha -- --reporter dot --require should","test-travis":"NODE_ENV=test node --harmony-generators node_modules/.bin/istanbul cover ./node_modules/.bin/_mocha --report lcovonly -- --reporter dot --require should"},"files":["index.js"],"keywords":["koa","csrf"],"gitHead":"9cfb0b6ca1b5e0079f90bcdff53c0ea6a80cf802","bugs":{"url":"https://github.com/koajs/csrf/issues"},"homepage":"https://github.com/koajs/csrf","_id":"koa-csrf@2.1.3","_shasum":"81a8161df353efd38b2daceebce530bf1ccf9ee5","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},"maintainers":[{"name":"aheckmann","email":"aaron.heckmann+github@gmail.com"},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"juliangruber","email":"julian@juliangruber.com"},{"name":"popomore","email":""}],"dist":{"shasum":"81a8161df353efd38b2daceebce530bf1ccf9ee5","size":2269,"noattachment":false,"key":"/koa-csrf/-/koa-csrf-2.1.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/koa-csrf/download/koa-csrf-2.1.3.tgz"},"directories":{},"publish_time":1408697743593,"_cnpm_publish_time":1408697743593,"_hasShrinkwrap":false},"2.1.2":{"name":"koa-csrf","description":"CSRF tokens for koa","version":"2.1.2","author":{"name":"Jonathan Ong","email":"me@jongleberry.com","url":"http://jongleberry.com"},"license":"MIT","repository":{"type":"git","url":"git://github.com/koajs/csrf"},"dependencies":{"csrf-tokens":"2"},"devDependencies":{"koa":"0","koa-session":"1","co-body":"*","mocha":"*","should":"*","supertest":"*"},"scripts":{"test":"NODE_ENV=test mocha --require should --reporter spec --harmony-generators --bail"},"engines":{"node":">= 0.11.3"},"files":["index.js"],"bugs":{"url":"https://github.com/koajs/csrf/issues"},"homepage":"https://github.com/koajs/csrf","_id":"koa-csrf@2.1.2","_shasum":"2c1b74118f7b53ecf867ac21d2572f999e48537d","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},"maintainers":[{"name":"aheckmann","email":"aaron.heckmann+github@gmail.com"},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"juliangruber","email":"julian@juliangruber.com"},{"name":"popomore","email":""}],"dist":{"shasum":"2c1b74118f7b53ecf867ac21d2572f999e48537d","size":1926,"noattachment":false,"key":"/koa-csrf/-/koa-csrf-2.1.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/koa-csrf/download/koa-csrf-2.1.2.tgz"},"directories":{},"publish_time":1403083794104,"_cnpm_publish_time":1403083794104,"_hasShrinkwrap":false},"2.1.1":{"name":"koa-csrf","description":"CSRF tokens for koa","version":"2.1.1","author":{"name":"Jonathan Ong","email":"me@jongleberry.com","url":"http://jongleberry.com"},"license":"MIT","repository":{"type":"git","url":"git://github.com/koajs/csrf"},"dependencies":{"csrf-tokens":"1"},"devDependencies":{"koa":"0","koa-session":"1","co-body":"*","mocha":"*","should":"*","supertest":"*"},"scripts":{"test":"NODE_ENV=test mocha --require should --reporter spec --harmony-generators --bail"},"engines":{"node":">= 0.11.3"},"files":["index.js"],"bugs":{"url":"https://github.com/koajs/csrf/issues"},"homepage":"https://github.com/koajs/csrf","_id":"koa-csrf@2.1.1","dist":{"shasum":"f16a1352713258e2484e448ba624bffadf37f1c7","size":2064,"noattachment":false,"key":"/koa-csrf/-/koa-csrf-2.1.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/koa-csrf/download/koa-csrf-2.1.1.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"dead_horse","email":"dead_horse@qq.com"},"maintainers":[{"name":"aheckmann","email":"aaron.heckmann+github@gmail.com"},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"juliangruber","email":"julian@juliangruber.com"},{"name":"popomore","email":""}],"directories":{},"publish_time":1402898755937,"_cnpm_publish_time":1402898755937,"_hasShrinkwrap":false},"2.1.0":{"name":"koa-csrf","description":"CSRF tokens for koa","version":"2.1.0","author":{"name":"Jonathan Ong","email":"me@jongleberry.com","url":"http://jongleberry.com"},"license":"MIT","repository":{"type":"git","url":"git://github.com/koajs/csrf"},"dependencies":{"csrf-tokens":"1"},"devDependencies":{"koa":"0","koa-session":"1","co-body":"*","mocha":"*","should":"*","supertest":"*"},"scripts":{"test":"NODE_ENV=test mocha --require should --reporter spec --harmony-generators --bail"},"engines":{"node":">= 0.11.3"},"files":["index.js"],"bugs":{"url":"https://github.com/koajs/csrf/issues"},"homepage":"https://github.com/koajs/csrf","_id":"koa-csrf@2.1.0","_shasum":"a118d31b771250355be060ce32b345a39418e83c","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},"maintainers":[{"name":"aheckmann","email":"aaron.heckmann+github@gmail.com"},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"juliangruber","email":"julian@juliangruber.com"},{"name":"popomore","email":""}],"dist":{"shasum":"a118d31b771250355be060ce32b345a39418e83c","size":2069,"noattachment":false,"key":"/koa-csrf/-/koa-csrf-2.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/koa-csrf/download/koa-csrf-2.1.0.tgz"},"directories":{},"publish_time":1402561037246,"_cnpm_publish_time":1402561037246,"_hasShrinkwrap":false},"2.0.0":{"name":"koa-csrf","description":"CSRF tokens for koa","version":"2.0.0","author":{"name":"Jonathan Ong","email":"me@jongleberry.com","url":"http://jongleberry.com"},"license":"MIT","repository":{"type":"git","url":"git://github.com/koajs/csrf"},"dependencies":{"csrf-tokens":"1"},"devDependencies":{"koa":"0","koa-session":"1","co-body":"*","mocha":"*","should":"*","supertest":"*"},"scripts":{"test":"NODE_ENV=test mocha --require should --reporter spec --harmony-generators"},"engines":{"node":">= 0.11.3"},"files":["index.js"],"bugs":{"url":"https://github.com/koajs/csrf/issues"},"homepage":"https://github.com/koajs/csrf","_id":"koa-csrf@2.0.0","_shasum":"09fd87225c3cb05431f82bd591b4c125056eb399","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},"maintainers":[{"name":"aheckmann","email":"aaron.heckmann+github@gmail.com"},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"juliangruber","email":"julian@juliangruber.com"},{"name":"popomore","email":""}],"dist":{"shasum":"09fd87225c3cb05431f82bd591b4c125056eb399","size":2112,"noattachment":false,"key":"/koa-csrf/-/koa-csrf-2.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/koa-csrf/download/koa-csrf-2.0.0.tgz"},"directories":{},"publish_time":1402265755143,"_cnpm_publish_time":1402265755143,"_hasShrinkwrap":false},"1.1.1":{"name":"koa-csrf","description":"CSRF tokens for koa","version":"1.1.1","author":{"name":"Jonathan Ong","email":"me@jongleberry.com","url":"http://jongleberry.com"},"license":"MIT","repository":{"type":"git","url":"git://github.com/koajs/csrf"},"devDependencies":{"koa":"~0.6.0","koa-session":">= 1.2.0","co-body":"*","mocha":"*","should":"*","supertest":"*"},"scripts":{"test":"make test;"},"engines":{"node":">= 0.11.3"},"files":["index.js"],"bugs":{"url":"https://github.com/koajs/csrf/issues"},"homepage":"https://github.com/koajs/csrf","_id":"koa-csrf@1.1.1","dist":{"shasum":"002041e73dc01d08d01d38ea2058f91880120cdd","size":3301,"noattachment":false,"key":"/koa-csrf/-/koa-csrf-1.1.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/koa-csrf/download/koa-csrf-1.1.1.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"dead_horse","email":"dead_horse@qq.com"},"maintainers":[{"name":"aheckmann","email":"aaron.heckmann+github@gmail.com"},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"juliangruber","email":"julian@juliangruber.com"},{"name":"popomore","email":""}],"directories":{},"publish_time":1400031308014,"_cnpm_publish_time":1400031308014,"_hasShrinkwrap":false},"1.1.0":{"name":"koa-csrf","description":"CSRF tokens for koa","version":"1.1.0","author":{"name":"Jonathan Ong","email":"me@jongleberry.com","url":"http://jongleberry.com"},"license":"MIT","repository":{"type":"git","url":"git://github.com/koajs/csrf"},"devDependencies":{"koa":">= 0.1.1","koa-session":">= 1.2.0","co-body":"*","mocha":"*","should":"*","supertest":"*"},"scripts":{"test":"make test;"},"engines":{"node":">= 0.11.3"},"files":["index.js"],"bugs":{"url":"https://github.com/koajs/csrf/issues"},"homepage":"https://github.com/koajs/csrf","_id":"koa-csrf@1.1.0","dist":{"shasum":"4e96202d0aecd1c9ca2ed3c6722e09667b6a27f7","size":3296,"noattachment":false,"key":"/koa-csrf/-/koa-csrf-1.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/koa-csrf/download/koa-csrf-1.1.0.tgz"},"_from":".","_npmVersion":"1.4.6","_npmUser":{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},"maintainers":[{"name":"aheckmann","email":"aaron.heckmann+github@gmail.com"},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"juliangruber","email":"julian@juliangruber.com"},{"name":"popomore","email":""}],"directories":{},"publish_time":1396807936625,"_cnpm_publish_time":1396807936625,"_hasShrinkwrap":false},"1.0.1":{"name":"koa-csrf","description":"CSRF tokens for koa","version":"1.0.1","author":{"name":"Jonathan Ong","email":"me@jongleberry.com","url":"http://jongleberry.com"},"license":"MIT","repository":{"type":"git","url":"https://github.com/koajs/csrf.git"},"bugs":{"url":"https://github.com/koajs/csrf/issues"},"devDependencies":{"koa":">= 0.1.1","koa-session":">= 1.2.0","co-body":"*","mocha":"*","should":"*","supertest":"*"},"scripts":{"test":"make test;"},"engines":{"node":">= 0.11.3"},"homepage":"https://github.com/koajs/csrf","_id":"koa-csrf@1.0.1","dist":{"shasum":"b1e45216b3ad2d3455934dd59f069bce73f543fb","size":3865,"noattachment":false,"key":"/koa-csrf/-/koa-csrf-1.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/koa-csrf/download/koa-csrf-1.0.1.tgz"},"_from":".","_npmVersion":"1.3.26","_npmUser":{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},"maintainers":[{"name":"aheckmann","email":"aaron.heckmann+github@gmail.com"},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"juliangruber","email":"julian@juliangruber.com"},{"name":"popomore","email":""}],"directories":{},"publish_time":1392548823514,"_cnpm_publish_time":1392548823514,"_hasShrinkwrap":false},"1.0.0":{"name":"koa-csrf","description":"CSRF tokens for koa","version":"1.0.0","author":{"name":"Jonathan Ong","email":"me@jongleberry.com","url":"http://jongleberry.com"},"license":"MIT","repository":{"type":"git","url":"https://github.com/koajs/csrf.git"},"bugs":{"url":"https://github.com/koajs/csrf/issues"},"devDependencies":{"koa":">= 0.1.1","koa-session":">= 1.2.0","co-body":"*","mocha":"*","should":"*","supertest":"*"},"scripts":{"test":"make test;"},"engines":{"node":">= 0.11.3"},"homepage":"https://github.com/koajs/csrf","_id":"koa-csrf@1.0.0","dist":{"shasum":"1823a8adff2e9ee3f33e54fc3d99117285e6af21","size":3864,"noattachment":false,"key":"/koa-csrf/-/koa-csrf-1.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/koa-csrf/download/koa-csrf-1.0.0.tgz"},"_from":".","_npmVersion":"1.3.18","_npmUser":{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},"maintainers":[{"name":"aheckmann","email":"aaron.heckmann+github@gmail.com"},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"juliangruber","email":"julian@juliangruber.com"},{"name":"popomore","email":""}],"directories":{},"publish_time":1387659633398,"_cnpm_publish_time":1387659633398,"_hasShrinkwrap":false},"0.1.0":{"name":"koa-csrf","description":"CSRF tokens for koa","version":"0.1.0","author":{"name":"Jonathan Ong","email":"me@jongleberry.com","url":"http://jongleberry.com"},"license":"MIT","repository":{"type":"git","url":"https://github.com/koajs/csrf.git"},"bugs":{"url":"https://github.com/koajs/csrf/issues"},"devDependencies":{"koa":"koajs/koa","koa-session":"koajs/session","koa-body-parser":"koajs/body-parser","mocha":"*","should":"*","supertest":"*"},"scripts":{"test":"make test;"},"engines":{"node":">= 0.11.3"},"homepage":"https://github.com/koajs/csrf","_id":"koa-csrf@0.1.0","dist":{"shasum":"8b9ddbdeb04281faea730a4ad751822d00612658","size":3847,"noattachment":false,"key":"/koa-csrf/-/koa-csrf-0.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/koa-csrf/download/koa-csrf-0.1.0.tgz"},"_from":".","_npmVersion":"1.3.13","_npmUser":{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},"maintainers":[{"name":"aheckmann","email":"aaron.heckmann+github@gmail.com"},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"juliangruber","email":"julian@juliangruber.com"},{"name":"popomore","email":""}],"directories":{},"publish_time":1384551137776,"_cnpm_publish_time":1384551137776,"_hasShrinkwrap":false},"0.0.1":{"name":"koa-csrf","description":"CSRF tokens for koa","version":"0.0.1","author":{"name":"Jonathan Ong","email":"me@jongleberry.com","url":"http://jongleberry.com"},"license":"MIT","repository":{"type":"git","url":"https://github.com/koajs/csrf.git"},"bugs":{"url":"https://github.com/koajs/csrf/issues"},"dependencies":{"merge-descriptors":"~0.0.1"},"devDependencies":{"koa":"koajs/koa","mocha":"*","should":"*"},"scripts":{"test":"make test;"},"engines":{"node":">= 0.11.3"},"homepage":"https://github.com/koajs/csrf","_id":"koa-csrf@0.0.1","dist":{"shasum":"43e9a40f770af79886cc4b73051f7f737cea8419","size":2842,"noattachment":false,"key":"/koa-csrf/-/koa-csrf-0.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/koa-csrf/download/koa-csrf-0.0.1.tgz"},"_from":".","_npmVersion":"1.3.13","_npmUser":{"name":"jongleberry","email":"jonathanrichardong@gmail.com"},"maintainers":[{"name":"aheckmann","email":"aaron.heckmann+github@gmail.com"},{"name":"fengmk2","email":"fengmk2@gmail.com"},{"name":"juliangruber","email":"julian@juliangruber.com"},{"name":"popomore","email":""}],"directories":{},"publish_time":1383810077774,"_cnpm_publish_time":1383810077774,"_hasShrinkwrap":false}},"readme":"# koa-csrf\n\n[![build status](https://img.shields.io/travis/koajs/csrf.svg)](https://travis-ci.com/koajs/csrf)\n[![code coverage](https://img.shields.io/codecov/c/github/koajs/csrf.svg)](https://codecov.io/gh/koajs/csrf)\n[![code style](https://img.shields.io/badge/code_style-XO-5ed9c7.svg)](https://github.com/sindresorhus/xo)\n[![styled with prettier](https://img.shields.io/badge/styled_with-prettier-ff69b4.svg)](https://github.com/prettier/prettier)\n[![made with lass](https://img.shields.io/badge/made_with-lass-95CC28.svg)](https://lass.js.org)\n[![license](https://img.shields.io/github/license/koajs/csrf.svg)](LICENSE)\n\n> CSRF tokens for Koa\n\n\n## Table of Contents\n\n* [Install](#install)\n* [Usage](#usage)\n* [Options](#options)\n* [Open Source Contributor Requests](#open-source-contributor-requests)\n* [Contributors](#contributors)\n* [License](#license)\n\n\n## Install\n\n> For versions of Koa &lt;2.x please use `koa-csrf@2.x`\n\n[npm][]:\n\n```sh\nnpm install koa-csrf\n```\n\n[yarn][]:\n\n```sh\nyarn add koa-csrf\n```\n\n\n## Usage\n\n1. Add middleware in Koa app (default options are shown):\n\n   ```js\n   const Koa = require('koa');\n   const bodyParser = require('koa-bodyparser');\n   const session = require('koa-generic-session');\n   const convert = require('koa-convert');\n   const CSRF = require('koa-csrf');\n\n   const app = new Koa();\n\n   // set the session keys\n   app.keys = [ 'a', 'b' ];\n\n   // add session support\n   app.use(convert(session()));\n\n   // add body parsing\n   app.use(bodyParser());\n\n   // add the CSRF middleware\n   app.use(new CSRF({\n     invalidTokenMessage: 'Invalid CSRF token',\n     invalidTokenStatusCode: 403,\n     excludedMethods: [ 'GET', 'HEAD', 'OPTIONS' ],\n     disableQuery: false\n   }));\n\n   // your middleware here (e.g. parse a form submit)\n   app.use((ctx, next) => {\n     if (![ 'GET', 'POST' ].includes(ctx.method))\n       return next();\n     if (ctx.method === 'GET') {\n       ctx.body = ctx.csrf;\n       return;\n     }\n     ctx.body = 'OK';\n   });\n\n   app.listen();\n   ```\n\n2. Add the CSRF token in your template forms:\n\n   > Jade Template:\n\n   ```jade\n   form(action='/register', method='POST')\n     input(type='hidden', name='_csrf', value=csrf)\n     input(type='email', name='email', placeholder='Email')\n     input(type='password', name='password', placeholder='Password')\n     button(type='submit') Register\n   ```\n\n   > EJS Template:\n\n   ```ejs\n   <form action=\"/register\" method=\"POST\">\n     <input type=\"hidden\" name=\"_csrf\" value=\"<%= csrf %>\" />\n     <input type=\"email\" name=\"email\" placeholder=\"Email\" />\n     <input type=\"password\" name=\"password\" placeholder=\"Password\" />\n     <button type=\"submit\">Register</button>\n   </form>\n   ```\n\n\n## Options\n\n* `invalidTokenMessage` (String or Function) - defaults to `Invalid CSRF token`, but can also be a function that accepts one argument `ctx` (useful for i18n translation, e.g. using `ctx.request.t('some message')` via [@ladjs/i18n][]\n* `invalidTokenStatusCode` (Number) - defaults to `403`\n* `excludedMethods` (Array) - defaults to `[ 'GET', 'HEAD', 'OPTIONS' ]`\n* `disableQuery` (Boolean) - defaults to `false`\n\n\n## Open Source Contributor Requests\n\n* [ ] Existing methods from 1.x package added to 3.x\n* [ ] Existing tests from 1.x package added to 3.x\n\n\n## Contributors\n\n| Name           | Website                           |\n| -------------- | --------------------------------- |\n| **Nick Baugh** | <https://github.com/niftylettuce> |\n\n\n## License\n\n[MIT](LICENSE) © [Jonathan Ong](http://jongleberry.com)\n\n\n## \n\n[@ladjs/i18n]: https://github.com/ladjs/i18n\n\n[npm]: https://www.npmjs.com/\n\n[yarn]: https://yarnpkg.com/\n","_attachments":{},"homepage":"https://github.com/koajs/csrf","bugs":{"url":"koajs/csrf/issues"},"license":"MIT"}