1 |
|
2 |
|
3 | var middleware = require('./middleware')
|
4 |
|
5 | var setHeaderTo = require('../setHeaderTo')
|
6 | var shouldParseAs = require('../shouldParseAs')
|
7 |
|
8 | module.exports = middleware('json', function (request, next) {
|
9 | if (!(request.body instanceof FormData) && request.body instanceof Object) {
|
10 | request.body = JSON.stringify(request.body)
|
11 | setHeaderTo(request, 'content-type', 'application/json')
|
12 | }
|
13 |
|
14 | setHeaderTo(request, 'accept', 'application/json')
|
15 |
|
16 | return next().then(function (response) {
|
17 | if (shouldParseAs(response, 'json', request)) {
|
18 | response.body = JSON.parse(response.body, request.options.jsonReviver)
|
19 | }
|
20 | return response
|
21 | })
|
22 | })
|