diff --git a/.nvmrc b/.nvmrc new file mode 100644 index 0000000..b009dfb --- /dev/null +++ b/.nvmrc @@ -0,0 +1 @@ +lts/* diff --git a/__tests__/middleware.test.js b/__tests__/middleware.test.js index 8543c32..c843a9f 100644 --- a/__tests__/middleware.test.js +++ b/__tests__/middleware.test.js @@ -55,7 +55,7 @@ describe('apiMiddleware', () => { it('Should dispatch action success and return the data body - json', async () => { function get() { - return 'application/json'; + return 'application/json; charset=utf-8'; } const body = { diff --git a/dist/api.js b/dist/api.js index ffeed4f..c21a357 100644 --- a/dist/api.js +++ b/dist/api.js @@ -11,7 +11,7 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } -function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } function buildRequest(url, requestData) { var request = new Request(url, _objectSpread({}, requestData)); diff --git a/dist/middleware.js b/dist/middleware.js index 57c08e9..27a4450 100644 --- a/dist/middleware.js +++ b/dist/middleware.js @@ -62,7 +62,7 @@ function apiMiddleware(_ref) { return new Promise(function (resolve, reject) { apiCallFunction(dispatch).then(function (response) { // if it's a json response, we unpack and parse it - if (response.headers && typeof response.headers.get === 'function' && response.headers.get('content-type') === 'application/json') { + if (response.headers && typeof response.headers.get === 'function' && response.headers.get('content-type').startsWith('application/json')) { response.json().then(function (data) { response.data = data; // from backend response @@ -83,7 +83,7 @@ function apiMiddleware(_ref) { } }).catch(function (error) { // if it's a json response, we unpack and parse it - if (error.headers && typeof error.headers.get === 'function' && error.headers.get('content-type') === 'application/json') { + if (error.headers && typeof error.headers.get === 'function' && error.headers.get('content-type').startsWith('application/json')) { error.json().then(function (data) { error.data = data; // form backend error diff --git a/lib/middleware.js b/lib/middleware.js index 7e8bbb2..7601870 100644 --- a/lib/middleware.js +++ b/lib/middleware.js @@ -50,7 +50,7 @@ export default function apiMiddleware({ dispatch, getState }) { if ( response.headers && typeof response.headers.get === 'function' && - response.headers.get('content-type') === 'application/json' + response.headers.get('content-type').startsWith('application/json') ) { response.json().then(data => { response.data = data; // from backend response @@ -67,7 +67,7 @@ export default function apiMiddleware({ dispatch, getState }) { if ( error.headers && typeof error.headers.get === 'function' && - error.headers.get('content-type') === 'application/json' + error.headers.get('content-type').startsWith('application/json') ) { error.json().then(data => { error.data = data; // form backend error diff --git a/package.json b/package.json index d992015..80e8ceb 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "react-redux-api-tools", - "version": "2.1.1", + "version": "2.1.2", "description": "Middleware and helpers to improve the React-Redux flow when communicating with APIs.", "main": "index.js", "scripts": {