mirror of
https://github.com/tenrok/axios.git
synced 2026-06-17 19:21:29 +03:00
bd3816bf9e
* fix(dispatchRequest): attach response to AxiosError on JSON parse failure When JSON.parse fails in strict mode (responseType: 'json' or silentJSONParsing: false), the thrown AxiosError was missing both error.response and error.status because transformResponse has no direct access to the response object — only the config is available as `this` inside transformData. Root cause: transformData is called as transformData.call(config, ...) and AxiosError.from uses `this.response` to populate the error's response field, but config.response was never set. Fix: in dispatchRequest, temporarily assign the response object to config.response before invoking transformData, then clean it up in a finally block to avoid permanently polluting the config object. This ensures error.response and error.status are available when a request with responseType='json' receives a malformed JSON body, making the error consistent with all other AxiosError instances. Fixes #7224 * chore: added additional testing and removed the misleading test --------- Co-authored-by: AKIBUZZAMAN AKIB <akibuzzamanakib473@gmail.com> Co-authored-by: Jason Saayman <jasonsaayman@gmail.com>
axios // core
The modules found in core/ should be modules that are specific to the domain logic of axios. These modules would most likely not make sense to be consumed outside of the axios module, as their logic is too specific. Some examples of core modules are:
- Dispatching requests
- Requests sent via
adapters/(see lib/adapters/README.md)
- Requests sent via
- Managing interceptors
- Handling config