2
0
mirror of https://github.com/tenrok/axios.git synced 2026-05-15 11:59:42 +03:00

Adding HTTP status code for transformResponse (#4580)

* Adding HTTP status code for transformResponse

* refs #1214

* Fix wrong argument for tranformResponse

* Fix test wrong argument for tranformData

* Add test case for transformData

* Add test case for transformData (reference headers case)

Co-authored-by: Jay <jasonsaayman@gmail.com>
This commit is contained in:
Koki Oyatsu
2022-05-10 02:25:16 +09:00
committed by GitHub
parent 9579bad1d3
commit 2f50c8249b
5 changed files with 36 additions and 9 deletions
+25 -2
View File
@@ -3,7 +3,7 @@ var transformData = require('../../../lib/core/transformData');
describe('core::transformData', function () {
it('should support a single transformer', function () {
var data;
data = transformData(data, null, function (data) {
data = transformData(data, null, null, function (data) {
data = 'foo';
return data;
});
@@ -13,7 +13,7 @@ describe('core::transformData', function () {
it('should support an array of transformers', function () {
var data = '';
data = transformData(data, null, [function (data) {
data = transformData(data, null, null, [function (data) {
data += 'f';
return data;
}, function (data) {
@@ -26,5 +26,28 @@ describe('core::transformData', function () {
expect(data).toEqual('foo');
});
it('should support reference headers in transformData', function () {
var headers = {
'content-type': 'foo/bar',
};
var data = '';
data = transformData(data, headers, null, [function (data, headers) {
data += headers['content-type'];
return data;
}]);
expect(data).toEqual('foo/bar');
});
it('should support reference status code in transformData', function () {
var data = '';
data = transformData(data, null, 200, [function (data, headers, status) {
data += status;
return data;
}]);
expect(data).toEqual('200');
});
});
+4 -4
View File
@@ -6,24 +6,24 @@ describe('transformResponse', function () {
describe('200 request', function () {
it('parses json', function () {
var data = '{"message": "hello, world"}';
var result = transformData(data, {'content-type': 'application/json'}, defaults.transformResponse);
var result = transformData(data, {'content-type': 'application/json'}, 200, defaults.transformResponse);
assert.strictEqual(result.message, 'hello, world');
});
it('ignores XML', function () {
var data = '<message>hello, world</message>';
var result = transformData(data, {'content-type': 'text/xml'}, defaults.transformResponse);
var result = transformData(data, {'content-type': 'text/xml'}, 200, defaults.transformResponse);
assert.strictEqual(result, data);
});
});
describe('204 request', function () {
it('does not parse the empty string', function () {
var data = '';
var result = transformData(data, {'content-type': undefined}, defaults.transformResponse);
var result = transformData(data, {'content-type': undefined}, 204, defaults.transformResponse);
assert.strictEqual(result, '');
});
it('does not parse undefined', function () {
var data = undefined;
var result = transformData(data, {'content-type': undefined}, defaults.transformResponse);
var result = transformData(data, {'content-type': undefined}, 200, defaults.transformResponse);
assert.strictEqual(result, data);
});
});