mirror of
https://github.com/tenrok/axios.git
synced 2026-05-24 14:04:14 +03:00
Moving default adapter to global defaults
This commit is contained in:
+20
-34
@@ -2,10 +2,10 @@
|
||||
|
||||
var utils = require('./../utils');
|
||||
var transformData = require('./transformData');
|
||||
var defaults = require('../defaults');
|
||||
|
||||
/**
|
||||
* Dispatch a request to the server using whichever adapter
|
||||
* is supported by the current environment.
|
||||
* Dispatch a request to the server using the configured adapter.
|
||||
*
|
||||
* @param {object} config The config that is to be used for the request
|
||||
* @returns {Promise} The Promise to be fulfilled
|
||||
@@ -35,41 +35,27 @@ module.exports = function dispatchRequest(config) {
|
||||
}
|
||||
);
|
||||
|
||||
var adapter;
|
||||
var adapter = config.adapter || defaults.adapter;
|
||||
|
||||
if (typeof config.adapter === 'function') {
|
||||
// For custom adapter support
|
||||
adapter = config.adapter;
|
||||
} else if (typeof XMLHttpRequest !== 'undefined') {
|
||||
// For browsers use XHR adapter
|
||||
adapter = require('../adapters/xhr');
|
||||
} else if (typeof process !== 'undefined') {
|
||||
// For node use HTTP adapter
|
||||
adapter = require('../adapters/http');
|
||||
}
|
||||
return adapter(config).then(function onAdapterResolution(response) {
|
||||
// Transform response data
|
||||
response.data = transformData(
|
||||
response.data,
|
||||
response.headers,
|
||||
config.transformResponse
|
||||
);
|
||||
|
||||
return Promise.resolve(config)
|
||||
// Wrap synchronous adapter errors and pass configuration
|
||||
.then(adapter)
|
||||
.then(function onFulfilled(response) {
|
||||
// Transform response data
|
||||
response.data = transformData(
|
||||
response.data,
|
||||
response.headers,
|
||||
return response;
|
||||
}, function onAdapterRejection(error) {
|
||||
// Transform response data
|
||||
if (error && error.response) {
|
||||
error.response.data = transformData(
|
||||
error.response.data,
|
||||
error.response.headers,
|
||||
config.transformResponse
|
||||
);
|
||||
}
|
||||
|
||||
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);
|
||||
});
|
||||
return Promise.reject(error);
|
||||
});
|
||||
};
|
||||
|
||||
@@ -14,7 +14,21 @@ function setContentTypeIfUnset(headers, value) {
|
||||
}
|
||||
}
|
||||
|
||||
function getDefaultAdapter() {
|
||||
var adapter;
|
||||
if (typeof XMLHttpRequest !== 'undefined') {
|
||||
// For browsers use XHR adapter
|
||||
adapter = require('./adapters/xhr');
|
||||
} else if (typeof process !== 'undefined') {
|
||||
// For node use HTTP adapter
|
||||
adapter = require('./adapters/http');
|
||||
}
|
||||
return adapter;
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
adapter: getDefaultAdapter(),
|
||||
|
||||
transformRequest: [function transformRequest(data, headers) {
|
||||
normalizeHeaderName(headers, 'Content-Type');
|
||||
if (utils.isFormData(data) ||
|
||||
|
||||
Reference in New Issue
Block a user