axios-miniprogram/src/core/transformURL.ts

26 lines
570 B
TypeScript
Raw Normal View History

2021-05-24 20:26:33 +08:00
import {
buildURL,
combineURL,
dynamicInterpolation,
isAbsoluteURL,
isDynamicURL,
2021-05-25 23:17:29 +08:00
} from '../helpers/url';
2021-05-21 14:26:22 +08:00
import { AxiosRequestConfig } from './Axios';
export function transformURL(config: AxiosRequestConfig): string {
let url = config.url ?? '';
if (!isAbsoluteURL(url)) {
url = combineURL(config.baseURL, url);
}
2021-05-24 20:26:33 +08:00
if (isDynamicURL(url)) {
const sourceData = Object.assign({}, config.params, config.data);
url = dynamicInterpolation(url, sourceData);
}
2021-05-21 14:26:22 +08:00
url = buildURL(url, config.params, config.paramsSerializer);
return url;
}