UNPKG

httpism

Version:

HTTP client with middleware and good defaults

23 lines (17 loc) 709 B
/* global FormData */ var middleware = require('./middleware') var setHeaderTo = require('../setHeaderTo') var shouldParseAs = require('../shouldParseAs') module.exports = middleware('json', function (request, next) { if (!(typeof FormData !== 'undefined' && request.body instanceof FormData) && request.body instanceof Object) { request.body = JSON.stringify(request.body) setHeaderTo(request, 'content-type', 'application/json') } setHeaderTo(request, 'accept', 'application/json') return next().then(function (response) { if (shouldParseAs(response, 'json', request)) { response.body = JSON.parse(response.body, request.options.jsonReviver) } return response }) })