diff --git a/History.md b/History.md index 3b811bc0..9e5d35ce 100644 --- a/History.md +++ b/History.md @@ -3,6 +3,10 @@ This incorporates all changes after 4.17.1 up to 4.17.2. + * deps: body-parser@2.0.0-beta.1 + - `req.body` is no longer always initialized to `{}` + - `urlencoded` parser now defaults `extended` to `false` + - Use `on-finished` to determine when body read * deps: router@2.0.0-beta.1 - Add new `?`, `*`, and `+` parameter modifiers - Internalize private `router.process_params` method diff --git a/examples/auth/index.js b/examples/auth/index.js index b8e85430..2f05d5ff 100644 --- a/examples/auth/index.js +++ b/examples/auth/index.js @@ -16,7 +16,7 @@ app.set('views', path.join(__dirname, 'views')); // middleware -app.use(express.urlencoded({ extended: false })) +app.use(express.urlencoded()) app.use(session({ resave: false, // don't save session if unmodified saveUninitialized: false, // don't create session until something stored @@ -100,6 +100,7 @@ app.get('/login', function(req, res){ }); app.post('/login', function(req, res){ + if (!req.body) return res.sendStatus(400) authenticate(req.body.username, req.body.password, function(err, user){ if (user) { // Regenerate session when signing in diff --git a/examples/cookies/index.js b/examples/cookies/index.js index 93515e59..7d6264a1 100644 --- a/examples/cookies/index.js +++ b/examples/cookies/index.js @@ -17,7 +17,7 @@ if (process.env.NODE_ENV !== 'test') app.use(logger(':method :url')) app.use(cookieParser('my secret here')); // parses x-www-form-urlencoded -app.use(express.urlencoded({ extended: false })) +app.use(express.urlencoded()) app.get('/', function(req, res){ if (req.cookies.remember) { @@ -36,7 +36,11 @@ app.get('/forget', function(req, res){ app.post('/', function(req, res){ var minute = 60000; - if (req.body.remember) res.cookie('remember', 1, { maxAge: minute }); + + if (req.body && req.body.remember) { + res.cookie('remember', 1, { maxAge: minute }) + } + res.redirect('back'); }); diff --git a/package.json b/package.json index 30f06d5a..d40c3ca6 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,7 @@ "dependencies": { "accepts": "~1.3.7", "array-flatten": "2.1.1", - "body-parser": "1.19.1", + "body-parser": "2.0.0-beta.1", "content-disposition": "0.5.4", "content-type": "~1.0.4", "cookie": "0.4.1", diff --git a/test/express.json.js b/test/express.json.js index 907fa0cf..16ac328a 100644 --- a/test/express.json.js +++ b/test/express.json.js @@ -312,7 +312,7 @@ describe('express.json()', function () { .post('/') .set('Content-Type', 'application/json') .send('{"user":"tobi"}') - .expect(200, '{}', done) + .expect(200, '', done) }) }) @@ -344,7 +344,7 @@ describe('express.json()', function () { .post('/') .set('Content-Type', 'application/x-json') .send('{"user":"tobi"}') - .expect(200, '{}', done) + .expect(200, '', done) }) }) diff --git a/test/express.raw.js b/test/express.raw.js index 571c29ca..fbe52576 100644 --- a/test/express.raw.js +++ b/test/express.raw.js @@ -182,7 +182,7 @@ describe('express.raw()', function () { var test = request(this.app).post('/') test.set('Content-Type', 'application/octet-stream') test.write(Buffer.from('000102', 'hex')) - test.expect(200, '{}', done) + test.expect(200, '', done) }) }) @@ -211,7 +211,7 @@ describe('express.raw()', function () { var test = request(this.app).post('/') test.set('Content-Type', 'application/x-foo') test.write(Buffer.from('000102', 'hex')) - test.expect(200, '{}', done) + test.expect(200, '', done) }) }) diff --git a/test/express.text.js b/test/express.text.js index 7c92f90e..ef95d3aa 100644 --- a/test/express.text.js +++ b/test/express.text.js @@ -195,7 +195,7 @@ describe('express.text()', function () { .post('/') .set('Content-Type', 'text/plain') .send('user is tobi') - .expect(200, '{}', done) + .expect(200, '', done) }) }) @@ -225,7 +225,7 @@ describe('express.text()', function () { .post('/') .set('Content-Type', 'text/xml') .send('tobi') - .expect(200, '{}', done) + .expect(200, '', done) }) }) diff --git a/test/express.urlencoded.js b/test/express.urlencoded.js index 6011de05..ef94cec9 100644 --- a/test/express.urlencoded.js +++ b/test/express.urlencoded.js @@ -73,12 +73,12 @@ describe('express.urlencoded()', function () { .expect(200, '{"user":"tobi"}', done) }) - it('should parse extended syntax', function (done) { + it('should not parse extended syntax', function (done) { request(this.app) .post('/') .set('Content-Type', 'application/x-www-form-urlencoded') .send('user[name][first]=Tobi') - .expect(200, '{"user":{"name":{"first":"Tobi"}}}', done) + .expect(200, '{"user[name][first]":"Tobi"}', done) }) describe('with extended option', function () { @@ -441,7 +441,7 @@ describe('express.urlencoded()', function () { .post('/') .set('Content-Type', 'application/x-www-form-urlencoded') .send('user=tobi') - .expect(200, '{}', done) + .expect(200, '', done) }) }) @@ -473,7 +473,7 @@ describe('express.urlencoded()', function () { .post('/') .set('Content-Type', 'application/x-foo') .send('user=tobi') - .expect(200, '{}', done) + .expect(200, '', done) }) })