mirror of
https://github.com/discourse/discourse.git
synced 2025-05-25 18:32:09 +08:00
DEV: Move Discourse.getURL
and related functions to a module (#9966)
* DEV: Move `Discourse.getURL` and related functions to a module * DEV: Remove `Discourse.getURL` and `Discourse.getURLWithCDN` * FIX: `get-url` is required for server side code * DEV: Deprecate `BaseUri` too.
This commit is contained in:
@ -1,4 +1,5 @@
|
||||
let baseUri;
|
||||
let cdn, baseUrl, baseUri;
|
||||
let S3BaseUrl, S3CDN;
|
||||
|
||||
export default function getURL(url) {
|
||||
if (!url) return url;
|
||||
@ -17,3 +18,42 @@ export default function getURL(url) {
|
||||
|
||||
return baseUri + url;
|
||||
}
|
||||
|
||||
export function getURLWithCDN(url) {
|
||||
url = getURL(url);
|
||||
// only relative urls
|
||||
if (cdn && /^\/[^\/]/.test(url)) {
|
||||
url = cdn + url;
|
||||
} else if (S3CDN) {
|
||||
url = url.replace(S3BaseUrl, S3CDN);
|
||||
}
|
||||
return url;
|
||||
}
|
||||
|
||||
export function getAbsoluteURL(path) {
|
||||
return baseUrl + path;
|
||||
}
|
||||
|
||||
export function isAbsoluteURL(url) {
|
||||
return url.startsWith(baseUrl);
|
||||
}
|
||||
|
||||
export function withoutPrefix(path) {
|
||||
const rootURL = (!baseUri ? "/" : baseUri).replace(/\/$/, "");
|
||||
return path.replace(rootURL, "");
|
||||
}
|
||||
|
||||
export function setPrefix(configBaseUri) {
|
||||
baseUri = configBaseUri;
|
||||
}
|
||||
|
||||
export function setupURL(configCdn, configBaseUrl, configBaseUri) {
|
||||
cdn = configCdn;
|
||||
baseUrl = configBaseUrl;
|
||||
baseUri = configBaseUri;
|
||||
}
|
||||
|
||||
export function setupS3CDN(configS3BaseUrl, configS3CDN) {
|
||||
S3BaseUrl = configS3BaseUrl;
|
||||
S3CDN = configS3CDN;
|
||||
}
|
||||
|
Reference in New Issue
Block a user