UNPKG

674 BJavaScriptView Raw
1/* global FormData */
2
3var middleware = require('./middleware')
4
5var setHeaderTo = require('../setHeaderTo')
6var shouldParseAs = require('../shouldParseAs')
7
8module.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})