From e7aa46811394b7250885413297c858e01a4e9d04 Mon Sep 17 00:00:00 2001 From: fengmk2 Date: Tue, 7 Feb 2017 11:26:15 +0800 Subject: [PATCH] feat: remove overrideMethod middleware It's not safe it enable by default in egg --- app/middleware/notfound.js | 1 - app/middleware/override_method.js | 3 -- app/middleware/site_file.js | 4 +- config/config.default.js | 3 +- package.json | 1 - test/app/middleware/override_method.test.js | 37 ------------------- .../apps/override_method/app/router.js | 13 ------- .../override_method/config/config.default.js | 8 ---- .../apps/override_method/package.json | 3 -- test/lib/core/loader/config_loader.test.js | 2 +- 10 files changed, 4 insertions(+), 71 deletions(-) delete mode 100644 app/middleware/override_method.js delete mode 100644 test/app/middleware/override_method.test.js delete mode 100644 test/fixtures/apps/override_method/app/router.js delete mode 100644 test/fixtures/apps/override_method/config/config.default.js delete mode 100644 test/fixtures/apps/override_method/package.json diff --git a/app/middleware/notfound.js b/app/middleware/notfound.js index 1057931f81..f97562cd4e 100644 --- a/app/middleware/notfound.js +++ b/app/middleware/notfound.js @@ -29,6 +29,5 @@ module.exports = options => { } else { this.body = title; } - }; }; diff --git a/app/middleware/override_method.js b/app/middleware/override_method.js deleted file mode 100644 index bf5f7ef0f4..0000000000 --- a/app/middleware/override_method.js +++ /dev/null @@ -1,3 +0,0 @@ -'use strict'; - -module.exports = require('koa-override'); diff --git a/app/middleware/site_file.js b/app/middleware/site_file.js index 7e1cc2e5fb..a2daf024fe 100644 --- a/app/middleware/site_file.js +++ b/app/middleware/site_file.js @@ -6,10 +6,10 @@ const MAX_AGE = 'public, max-age=2592000'; // 30 days module.exports = options => { return function* siteFile(next) { if (this.method !== 'HEAD' && this.method !== 'GET') return yield next; - - if (!options.hasOwnProperty(this.path)) return yield next; + if (this.path[0] !== '/') return yield next; const content = options[this.path]; + if (!content) return yield next; // '/favicon.ico': 'https://eggjs.org/favicon.ico', // content is url diff --git a/config/config.default.js b/config/config.default.js index c7308632f7..dc22505bed 100644 --- a/config/config.default.js +++ b/config/config.default.js @@ -204,7 +204,7 @@ module.exports = appInfo => { }; /** - * 定义 core 中间件加载的顺序,中间件的名称会映射到 app.middlewares 上 + * core enable middlewares * @member {Array} Config#middleware */ exports.coreMiddleware = [ @@ -212,7 +212,6 @@ module.exports = appInfo => { 'siteFile', 'notfound', 'bodyParser', - 'overrideMethod', ]; /** diff --git a/package.json b/package.json index 2ac796cde1..c08351f07a 100644 --- a/package.json +++ b/package.json @@ -41,7 +41,6 @@ "is-type-of": "^1.0.0", "koa-bodyparser": "^2.3.0", "koa-is-json": "^1.0.0", - "koa-override": "^1.0.0", "mime-types": "^2.1.14", "sendmessage": "^1.1.0", "urllib": "^2.20.0" diff --git a/test/app/middleware/override_method.test.js b/test/app/middleware/override_method.test.js deleted file mode 100644 index b3435f925b..0000000000 --- a/test/app/middleware/override_method.test.js +++ /dev/null @@ -1,37 +0,0 @@ -'use strict'; - -const request = require('supertest'); -const utils = require('../../utils'); - -describe('test/app/middleware/override_method.test.js', () => { - let app; - before(() => { - app = utils.app('apps/override_method'); - return app.ready(); - }); - after(() => app.close()); - - it('should put', () => { - return request(app.callback()) - .post('/test') - .send({ _method: 'PUT' }) - .expect(200) - .expect('test-put'); - }); - - it('should patch', () => { - return request(app.callback()) - .post('/test') - .send({ _method: 'PATCH' }) - .expect(200) - .expect('test-patch'); - }); - - it('should delete', () => { - return request(app.callback()) - .post('/test') - .send({ _method: 'DELETE' }) - .expect(200) - .expect('test-delete'); - }); -}); diff --git a/test/fixtures/apps/override_method/app/router.js b/test/fixtures/apps/override_method/app/router.js deleted file mode 100644 index 8a7615f909..0000000000 --- a/test/fixtures/apps/override_method/app/router.js +++ /dev/null @@ -1,13 +0,0 @@ -module.exports = app => { - app.put('/test', function* () { - this.body = "test-put"; - }); - - app.delete('/test', function* () { - this.body = 'test-delete'; - }); - - app.patch('/test', function* () { - this.body = 'test-patch'; - }); -}; diff --git a/test/fixtures/apps/override_method/config/config.default.js b/test/fixtures/apps/override_method/config/config.default.js deleted file mode 100644 index 83a12e57bc..0000000000 --- a/test/fixtures/apps/override_method/config/config.default.js +++ /dev/null @@ -1,8 +0,0 @@ -exports.security = { - csrf: { - enable: false, - }, - ctoken: { - enable: false, - } -} diff --git a/test/fixtures/apps/override_method/package.json b/test/fixtures/apps/override_method/package.json deleted file mode 100644 index 73b8ebb113..0000000000 --- a/test/fixtures/apps/override_method/package.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "name": "override_method" -} diff --git a/test/lib/core/loader/config_loader.test.js b/test/lib/core/loader/config_loader.test.js index 3e742879b0..a2f1275620 100644 --- a/test/lib/core/loader/config_loader.test.js +++ b/test/lib/core/loader/config_loader.test.js @@ -19,7 +19,7 @@ describe('test/lib/core/loader/config_loader.test.js', () => { 'notfound', 'static', 'bodyParser', - 'overrideMethod', + 'userservice', ]); });