mirror of
https://github.com/tenrok/axios.git
synced 2026-06-11 18:02:32 +03:00
feat: added custom params serializer support; (#5113)
* Added custom params serializer support; * Added missed semicolon; Fixed allowUnknown option; Co-authored-by: Jay <jasonsaayman@gmail.com>
This commit is contained in:
+8
-1
@@ -47,7 +47,7 @@ class Axios {
|
||||
|
||||
config = mergeConfig(this.defaults, config);
|
||||
|
||||
const transitional = config.transitional;
|
||||
const {transitional, paramsSerializer} = config;
|
||||
|
||||
if (transitional !== undefined) {
|
||||
validator.assertOptions(transitional, {
|
||||
@@ -57,6 +57,13 @@ class Axios {
|
||||
}, false);
|
||||
}
|
||||
|
||||
if (paramsSerializer !== undefined) {
|
||||
validator.assertOptions(paramsSerializer, {
|
||||
encode: validators.function,
|
||||
serialize: validators.function
|
||||
}, true);
|
||||
}
|
||||
|
||||
// Set config.method
|
||||
config.method = (config.method || this.defaults.method || 'get').toLowerCase();
|
||||
|
||||
|
||||
+13
-5
@@ -44,12 +44,20 @@ export default function buildURL(url, params, options) {
|
||||
|
||||
const _encode = options && options.encode || encode;
|
||||
|
||||
const serializerParams = utils.isURLSearchParams(params) ?
|
||||
params.toString() :
|
||||
new AxiosURLSearchParams(params, options).toString(_encode);
|
||||
const serializeFn = options && options.serialize;
|
||||
|
||||
if (serializerParams) {
|
||||
url += (url.indexOf('?') === -1 ? '?' : '&') + serializerParams;
|
||||
let serializedParams;
|
||||
|
||||
if (serializeFn) {
|
||||
serializedParams = serializeFn(params, options);
|
||||
} else {
|
||||
serializedParams = utils.isURLSearchParams(params) ?
|
||||
params.toString() :
|
||||
new AxiosURLSearchParams(params, options).toString(_encode);
|
||||
}
|
||||
|
||||
if (serializedParams) {
|
||||
url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;
|
||||
}
|
||||
|
||||
return url;
|
||||
|
||||
Reference in New Issue
Block a user