* test: add error handling tests for fetch and http adapters with status code
* fix: improve error handling in fetch adapter by including request and response in AxiosError
* fix: skip fetch test if fetch is not supported
* Update lib/adapters/fetch.js
Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
* fix: improve error handling in fetch adapter by using the correct request object
---------
Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
* fix(interceptor): handle the error in the same interceptor
* fix(interceptor): pass the config and data in promise chain
* fix(interceptor): filter out unexpected config and data in promise chain
---------
Co-authored-by: Jay <jasonsaayman@gmail.com>
* fix: turn AxiosError into a native error (#5394)
Being an object returned by the 'Error' constructor turns something into a 'native error'.
* fix: simplify code in AxiosError
* fix: simplify code in AxiosError
* refactor: implement AxiosError as a class
* refactor: implement CanceledError as a class
This turns CanceledError into a native error.
* refactor: simplify AxiosError.toJSON
* fix: improve error code handling in `AxiosError.from`
If no error code is provided, use the code from the underlying error.
* fix: set error status in `AxiosError.constructor`
If a response is passed to the constructor, set the response status as a property.
* fix: remove unnecessary async
---------
Co-authored-by: Jay <jasonsaayman@gmail.com>
* feat(fetch): add fetch, Request, Response env config variables for the adapter;
* feat(fetch): fixed design issue for environments without fetch API globals;
* test: test to support reviver on JSON.parse
* feat: support reviver for JSON.parse on parse response data
#5924
---------
Co-authored-by: Jay <jasonsaayman@gmail.com>
* 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
* fix: prevent request url override
prevent request URL from overriding preconfigured base URL
BREAKING CHANGE: code relying on the above will now combine the URLs instead of prefer request URL
* feat: add config option for allowing absolute URLs
* fix: add default value for allowAbsoluteUrls in buildFullPath
* fix: typo in flow control when setting allowAbsoluteUrls
* feat: update tests supporting issue #5902 functionality
* feat: update README.md with allowAbsoluteUrls
* fix: properly group conditions in buildFullPath.js to avoid undefined error when baseUrl undefined
* Update README.md fix typo
* fix: update build full path logic to address failing test case
* fix: update base URL test
* fix: remove problem test (works locally, will not work in the pipeline)
* fix: update https test to use github.com instead of google.com
* fix: revert previous commit
* fix: add back problem test
* chore: remove un-needed passed var to URL class instanciation
---------
Co-authored-by: Austin Ryan Lawson <ryan.lawson2@gmail.com>
Co-authored-by: Jay <jasonsaayman@gmail.com>
* test(transform): add test case for issue 5853 on response type to 'json'
* test(transform): formatted second argument
---------
Co-authored-by: Jay <jasonsaayman@gmail.com>