mirror of
https://github.com/tenrok/axios.git
synced 2026-06-20 20:00:40 +03:00
Improve error handling
This commit is contained in:
@@ -0,0 +1,16 @@
|
||||
'use strict';
|
||||
|
||||
var enhanceError = require('./enhanceError');
|
||||
|
||||
/**
|
||||
* Create an Error with the specified message, config, and optional error code.
|
||||
*
|
||||
* @param {string} message The error message.
|
||||
* @param {Object} config The config object.
|
||||
* @param {string} [code] The error code (for example, 'ECONNABORTED').
|
||||
* @returns {Error} The created error.
|
||||
*/
|
||||
module.exports = function createError(message, config, code) {
|
||||
var error = new Error(message);
|
||||
return enhanceError(error, config, code);
|
||||
};
|
||||
@@ -0,0 +1,17 @@
|
||||
'use strict';
|
||||
|
||||
/**
|
||||
* Update an Error with the specified config and optional error code.
|
||||
*
|
||||
* @param {Error} error The error to update.
|
||||
* @param {Object} config The config object.
|
||||
* @param {string} [code] The error code (for example, 'ECONNABORTED').
|
||||
* @returns {Error} The error.
|
||||
*/
|
||||
module.exports = function enhanceError(error, config, code) {
|
||||
error.config = config;
|
||||
if (code) {
|
||||
error.code = code;
|
||||
}
|
||||
return error;
|
||||
};
|
||||
+5
-1
@@ -1,5 +1,7 @@
|
||||
'use strict';
|
||||
|
||||
var createError = require('./createError');
|
||||
|
||||
/**
|
||||
* Resolve or reject a Promise based on response status.
|
||||
*
|
||||
@@ -13,6 +15,8 @@ module.exports = function settle(resolve, reject, response) {
|
||||
if (!response.status || !validateStatus || validateStatus(response.status)) {
|
||||
resolve(response);
|
||||
} else {
|
||||
reject(response);
|
||||
var error = createError('Request failed with status code ' + response.status, response.config);
|
||||
error.response = response;
|
||||
reject(error);
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user