body-parser
Advanced tools
Comparing version 1.8.2 to 1.8.3
@@ -0,1 +1,7 @@ | ||
1.8.3 / 2014-09-19 | ||
================== | ||
* deps: qs@2.2.4 | ||
- Fix issue with object keys starting with numbers truncated | ||
1.8.2 / 2014-09-15 | ||
@@ -2,0 +8,0 @@ ================== |
{ | ||
"name": "body-parser", | ||
"description": "Node.js body parsing middleware", | ||
"version": "1.8.2", | ||
"version": "1.8.3", | ||
"contributors": [ | ||
@@ -17,3 +17,3 @@ "Douglas Christopher Wilson <doug@somethingdoug.com>", | ||
"on-finished": "2.1.0", | ||
"qs": "2.2.3", | ||
"qs": "2.2.4", | ||
"raw-body": "1.3.0", | ||
@@ -20,0 +20,0 @@ "type-is": "~1.5.1" |
@@ -7,3 +7,3 @@ # body-parser | ||
[![Test Coverage][coveralls-image]][coveralls-url] | ||
[![Gittip][gittip-image]][gittip-url] | ||
[![Gratipay][gratipay-image]][gratipay-url] | ||
@@ -33,20 +33,3 @@ Node.js body parsing middleware. | ||
```js | ||
var express = require('express') | ||
var bodyParser = require('body-parser') | ||
var app = express() | ||
// parse application/x-www-form-urlencoded | ||
app.use(bodyParser.urlencoded({ extended: false })) | ||
// parse application/json | ||
app.use(bodyParser.json()) | ||
// parse application/vnd.api+json as json | ||
app.use(bodyParser.json({ type: 'application/vnd.api+json' })) | ||
app.use(function (req, res, next) { | ||
console.log(req.body) // populated! | ||
next() | ||
}) | ||
``` | ||
@@ -129,2 +112,71 @@ | ||
## Examples | ||
### express/connect top-level generic | ||
This example demonstrates adding a generic JSON and urlencoded parser as a top-level middleware, which will parse the bodies of all incoming requests. This is the simplest setup. | ||
```js | ||
var express = require('express') | ||
var bodyParser = require('body-parser') | ||
var app = express() | ||
// parse application/x-www-form-urlencoded | ||
app.use(bodyParser.urlencoded({ extended: false })) | ||
// parse application/json | ||
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)) | ||
}) | ||
``` | ||
### express route-specific | ||
This example demonstrates adding body parsers specifically to the routes that need them. In general, this is the most recommend way to use body-parser with express. | ||
```js | ||
var express = require('express') | ||
var bodyParser = require('body-parser') | ||
var app = express() | ||
// create application/json parser | ||
var jsonParser = bodyParser.json() | ||
// create application/x-www-form-urlencoded parser | ||
var urlencodedParser = bodyParser.urlencoded({ extended: false }) | ||
// POST /login gets urlencoded bodies | ||
app.post('/login', urlencodedParser, function (req, res) { | ||
if (!req.body) return res.sendStatus(400) | ||
res.send('welcome, ' + res.body.username) | ||
}) | ||
// POST /api/users gets JSON bodies | ||
app.post('/api/users', jsonParser, function (req, res) { | ||
if (!req.body) return res.sendStatus(400) | ||
// create user in req.body | ||
}) | ||
``` | ||
### change content-type for parsers | ||
All the parsers accept a `type` option which allows you to change the `Content-Type` that the middleware will parse. | ||
```js | ||
// parse various different custom JSON types as JSON | ||
app.use(bodyParser.json({ type: 'application/*+json' })) | ||
// parse some custom thing into a Buffer | ||
app.use(bodyParser.raw({ type: 'application/vnd.custom-type' })) | ||
// parse an HTML body into a string | ||
app.use(bodyParser.text({ type: 'text/html' })) | ||
``` | ||
## License | ||
@@ -142,3 +194,3 @@ | ||
[downloads-url]: https://npmjs.org/package/body-parser | ||
[gittip-image]: https://img.shields.io/gittip/dougwilson.svg?style=flat | ||
[gittip-url]: https://www.gittip.com/dougwilson/ | ||
[gratipay-image]: https://img.shields.io/gratipay/dougwilson.svg?style=flat | ||
[gratipay-url]: https://www.gratipay.com/dougwilson/ |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
28570
193