2
0
mirror of https://github.com/tenrok/axios.git synced 2026-06-20 20:00:40 +03:00

Transform response data on error

closes #378
This commit is contained in:
Matt Zabriskie
2016-07-16 11:10:58 -06:00
parent ff919487e1
commit 98d489558e
2 changed files with 44 additions and 0 deletions
+11
View File
@@ -60,5 +60,16 @@ module.exports = function dispatchRequest(config) {
); );
return response; return response;
}, function onRejected(error) {
// Transform response data
if (error && error.response) {
error.response.data = transformData(
error.response.data,
error.response.headers,
config.transformResponse
);
}
return Promise.reject(error);
}); });
}; };
+33
View File
@@ -112,6 +112,39 @@ describe('requests', function () {
}); });
}); });
// https://github.com/mzabriskie/axios/issues/378
it('should return JSON when rejecting', function (done) {
var response;
axios('/api/account/signup', {
username: null,
password: null
}, {
method: 'post',
headers: {
'Accept': 'application/json'
}
})
.catch(function (error) {
response = error.response;
});
getAjaxRequest().then(function (request) {
request.respondWith({
status: 400,
statusText: 'Bad Request',
responseText: '{"error": "BAD USERNAME", "code": 1}'
});
setTimeout(function () {
expect(typeof response.data).toEqual('object');
// expect(response.data.error).toEqual('BAD USERNAME');
// expect(response.data.code).toEqual(1);
done();
});
});
});
it('should make cross domian http request', function (done) { it('should make cross domian http request', function (done) {
var response; var response;