diff --git a/HISTORY.md b/HISTORY.md index d0746f4e..e8c5a84f 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,3 +1,8 @@ +2.x +=== + + * `urlencoded` parser now defaults `extended` to `false` + 1.9.2 / 2014-10-27 ================== diff --git a/README.md b/README.md index 76f10ec5..980e1731 100644 --- a/README.md +++ b/README.md @@ -88,7 +88,7 @@ Returns middleware that only parses `urlencoded` bodies. This parser accepts onl The options are: -- `extended` - parse extended syntax with the [qs](https://www.npmjs.org/package/qs#readme) module. (default: `true`) +- `extended` - parse extended syntax with the [qs](https://www.npmjs.org/package/qs#readme) module. (default: `false`) - `inflate` - if deflated bodies will be inflated. (default: `true`) - `limit` - maximum request body size. (default: `<100kb>`) - `parameterLimit` - maximum number of parameters. (default: `1000`) @@ -120,7 +120,7 @@ var bodyParser = require('body-parser') var app = express() // parse application/x-www-form-urlencoded -app.use(bodyParser.urlencoded({ extended: false })) +app.use(bodyParser.urlencoded()) // parse application/json app.use(bodyParser.json()) @@ -128,7 +128,7 @@ app.use(bodyParser.json()) app.use(function (req, res) { res.setHeader('Content-Type', 'text/plain') res.write('you posted:\n') - res.end(JSON.stringify(req.body, null, 2)) + res.end(req.body ? JSON.stringify(req.body, null, 2) : 'nothing') }) ``` @@ -146,7 +146,7 @@ var app = express() var jsonParser = bodyParser.json() // create application/x-www-form-urlencoded parser -var urlencodedParser = bodyParser.urlencoded({ extended: false }) +var urlencodedParser = bodyParser.urlencoded() // POST /login gets urlencoded bodies app.post('/login', urlencodedParser, function (req, res) { diff --git a/lib/types/urlencoded.js b/lib/types/urlencoded.js index 83eb6c31..b44cd451 100644 --- a/lib/types/urlencoded.js +++ b/lib/types/urlencoded.js @@ -10,7 +10,6 @@ */ var bytes = require('bytes') -var deprecate = require('depd')('body-parser') var read = require('../read') var typer = require('media-typer') var typeis = require('type-is') @@ -38,12 +37,7 @@ var parsers = Object.create(null) function urlencoded(options){ options = options || {}; - // notice because option default will flip in next major - if (options.extended === undefined) { - deprecate('undefined extended: provide extended option') - } - - var extended = options.extended !== false + var extended = Boolean(options.extended) var inflate = options.inflate !== false var limit = typeof options.limit !== 'number' ? bytes(options.limit || '100kb') diff --git a/test/urlencoded.js b/test/urlencoded.js index 1d34d8f1..a5778f0f 100644 --- a/test/urlencoded.js +++ b/test/urlencoded.js @@ -59,12 +59,12 @@ describe('bodyParser.urlencoded()', function(){ .expect(200, '{}', done) }) - it('should parse extended syntax', function(done){ + it('should not parse extended syntax', function(done){ request(server) .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(){