mirror of
https://github.com/tenrok/axios.git
synced 2026-05-15 11:59:42 +03:00
78b290c57c
* feat(adapter): surface low‑level network error details; attach original error via `cause` Node http adapter: - Promote low-level `err.code` to `AxiosError.code`, prefixing message (e.g. `ECONNREFUSED – …`) - Keep original error on standard `Error.cause` XHR adapter: - Preserve browser `ProgressEvent` on `error.event` - Use event message when available Tests: - Add Node ESM tests under `test/unit/adapters` to assert `code` and `cause` behavior Types: - Ensure `AxiosError.cause?: unknown` and `event?: ProgressEvent` are present * fix(adapter): use fs instead of fs/promises for sync file read in tests to fix GitHub Actions
axios // adapters
The modules under adapters/ are modules that handle dispatching a request and settling a returned Promise once a response is received.
Example
var settle = require('./../core/settle');
module.exports = function myAdapter(config) {
// At this point:
// - config has been merged with defaults
// - request transformers have already run
// - request interceptors have already run
// Make the request using config provided
// Upon response settle the Promise
return new Promise(function(resolve, reject) {
var response = {
data: responseData,
status: request.status,
statusText: request.statusText,
headers: responseHeaders,
config: config,
request: request
};
settle(resolve, reject, response);
// From here:
// - response transformers will run
// - response interceptors will run
});
}