2016-09-22 14:39:36 -04:00
|
|
|
let baseUri;
|
|
|
|
|
|
|
|
export default function getURL(url) {
|
|
|
|
if (!url) return url;
|
|
|
|
|
|
|
|
if (!baseUri) {
|
2018-06-15 11:03:24 -04:00
|
|
|
baseUri = $('meta[name="discourse-base-uri"]').attr("content") || "";
|
2016-09-22 14:39:36 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
// if it's a non relative URL, return it.
|
2018-06-15 11:03:24 -04:00
|
|
|
if (url !== "/" && !/^\/[^\/]/.test(url)) return url;
|
2016-09-22 14:39:36 -04:00
|
|
|
|
|
|
|
const found = url.indexOf(baseUri);
|
|
|
|
|
|
|
|
if (found >= 0 && found < 3) return url;
|
|
|
|
if (url[0] !== "/") url = "/" + url;
|
|
|
|
|
|
|
|
return baseUri + url;
|
|
|
|
}
|