2
0
mirror of https://github.com/tenrok/axios.git synced 2026-06-05 16:42:32 +03:00

Adding support for custom adapters

This commit is contained in:
Matt Zabriskie
2016-01-17 15:29:10 -07:00
parent be241d55df
commit b9bb6ae7aa
3 changed files with 41 additions and 6 deletions
+12 -3
View File
@@ -10,12 +10,21 @@
module.exports = function dispatchRequest(config) {
return new Promise(function executor(resolve, reject) {
try {
if ((typeof XMLHttpRequest !== 'undefined') || (typeof ActiveXObject !== 'undefined')) {
var adapter;
if (typeof config.adapter === 'function') {
// For custom adapter support
adapter = config.adapter;
} else if (typeof XMLHttpRequest !== 'undefined') {
// For browsers use XHR adapter
require('../adapters/xhr')(resolve, reject, config);
adapter = require('../adapters/xhr');
} else if (typeof process !== 'undefined') {
// For node use HTTP adapter
require('../adapters/http')(resolve, reject, config);
adapter = require('../adapters/http');
}
if (typeof adapter === 'function') {
adapter(resolve, reject, config);
}
} catch (e) {
reject(e);