axios
Version:
Promise based HTTP client for the browser and node.js
24 lines (19 loc) • 492 B
JavaScript
;
/**
* Creates a new URL by combining the specified URLs
*
* @param {string} baseURL The base URL
* @param {string} relativeURL The relative URL
*
* @returns {string} The combined URL
*/
export default function combineURLs(baseURL, relativeURL) {
if (!relativeURL) {
return baseURL;
}
let end = baseURL.length;
while (end > 0 && baseURL.charCodeAt(end - 1) === 47) {
end--;
}
return baseURL.slice(0, end) + '/' + relativeURL.replace(/^\/+/, '');
}