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;
|
|
|
|
}
|