* feat: add boolean flag to mimic pre 1.x behavior for paramsSerializer custom function
* chore: update ParamsSerializer Readme
* fix: dont slice hash off URL if not appending params
* Omit nulls from formData serialization
* fix: dont add nulls or undefined values to arrays either
* readme update
* fix test
* chore: documentation
* chore: do TS properly
Co-authored-by: Jay <jasonsaayman@gmail.com>
* Added AxiosHeaders class;
* Fixed README.md href;
* Fixed a potential bug with headers normalization;
* Fixed a potential bug with headers normalization;
Refactored accessor building routine;
Refactored default transforms;
Removed `normalizeHeaderName` helper;
* Added `Content-Length` accessor;
Added missed `has` accessor to TS types;
* Added `AxiosTransformStream` class;
Added progress capturing ability for node.js environment;
Added `maxRate` option to limit the data rate in node.js environment;
Refactored event handled by `onUploadProgress` && `onDownloadProgress` listeners in browser environment;
Added progress & data rate tests for the http adapter;
Added response stream aborting test;
Added a manual progress capture test for the browser;
Updated TS types;
Added TS tests;
Refactored request abort logic for the http adapter;
Added ability to abort the response stream;
* Remove `stream/promises` & `timers/promises` modules usage in tests;
* Use `abortcontroller-polyfill`;
* Fixed AxiosTransformStream dead-lock in legacy node versions;
Fixed CancelError emitting in streams;
* Reworked AxiosTransformStream internal logic to optimize memory consumption;
Added throwing an error if the request stream was silently destroying (without error) Refers to #3966;
* Treat the destruction of the request stream as a cancellation of the request;
Fixed tests;
* Emit `progress` event in the next tick;
* Initial refactoring;
* Refactored Mocha tests to use ESM;
* Refactored Karma tests to use rollup preprocessor & ESM;
Replaced grunt with gulp;
Improved dev scripts;
Added Babel for rollup build;
* Added default commonjs package export for Node build;
Added automatic contributors list generator for package.json;
Co-authored-by: Jay <jasonsaayman@gmail.com>
* Added data URL support for node.js;
Added missed data URL protocol for the browser environment;
Optimized JSON parsing in the default response transformer;
Refactored project structure;
Added `cause` prop for AxiosError instance that refers to the original error if it was wrapped with `AxiosError.from` method;
Added fromDataURI helper;
Added test for handling data:url as an `arraybuffer|text|stream`;
* Added throwing of 405 HTTP error if the method is not GET;
Updated default notation for arrays and objects to bracket style;
Added `multer/express.js` tests;
Updated README.md;
Co-authored-by: Jay <jasonsaayman@gmail.com>
* Adding HTTP status code for transformResponse
* refs #1214
* Fix wrong argument for tranformResponse
* Fix test wrong argument for tranformData
* Add test case for transformData
* Add test case for transformData (reference headers case)
Co-authored-by: Jay <jasonsaayman@gmail.com>
* Added generic `AxiosAbortSignal` TS interface to avoid importing AbortController polyfill;
* Renamed `AxiosAbortSignal` to `GenericAbortSignal` to use the same naming style as `GenericFormData`;
* Added TS test for `GenericAbortSignal` interface;
Co-authored-by: Jay <jasonsaayman@gmail.com>
The callback `AxiosRequestTransformer` can always expect its `headers`
parameter to be defined. This is ensured immediately before the callback
is made.
See: 1025d1231a/lib/core/dispatchRequest.js (L32-L40)
Co-authored-by: Jay <jasonsaayman@gmail.com>
* Fixed isFormData predicate;
Added support for automatic object serialization to FormData if `Content-Type` is `multipart/form-data`;
Added support for FormData to be overloaded using `config.env.FormData` option;
Added support for FormData in node.js environment through `form-data` package;
* Added the `form-data` package as a dependency for the server build;
Added tests for FormData payload;
* Added FormData automatic serialization section;
Refactored cancellation section;
* Reworked toFormData helper;
Expose toFormData helper as a static method;
Refactored transform request;
Added kindOf, kindOfTest, endsWith, isTypedArray util;
Refactored utils.js to use kindOf for tests;
* Fixed isFormData predicate; (#4413)
Added support for automatic object serialization to FormData if `Content-Type` is `multipart/form-data`;
Added support for FormData to be overloaded using `config.env.FormData` option;
Added support for FormData in node.js environment using `form-data` package;
(cherry picked from commit 73e3bdb883)
* Added shortcut methods `postForm`, `putForm`, `patchForm` to submit a Form;
Added ability to submit FileList object as a FormData;
Updated README.md;
* Updated README.md;
Added support for automatic object serialization to FormData if `Content-Type` is `multipart/form-data`;
Added support for FormData to be overloaded using `config.env.FormData` option;
Added support for FormData in node.js environment through `form-data` package;
Refactored `Cancel` to a constructor, a subclass of the `AxiosError`;
Expose CanceledError class;
Refactored axios error codes;
Added `toFlatObject` util;
* Distinguish request and response data types
* Fix Axios headers type
`axios.headers` is not of the same type as `request.headers`, so a new type
`AxiosDefaults` was introduced
* Replace grunt-ts with dtslint
This asserts that the type definitions are valid in the specified TypeScript
version and above. This is the same tool that is used by DefinitelyTyped.
* Remove grunt-ts
* Restore typescript dependency
* Fix missing semicolons
Co-authored-by: Claas Augner <github@caugner.de>
Co-authored-by: Jay <jasonsaayman@gmail.com>