mirror of
https://github.com/Crosstalk-Solutions/project-nomad.git
synced 2026-03-28 11:39:26 +01:00
27 lines
797 B
TypeScript
27 lines
797 B
TypeScript
|
|
|
|
export function getServiceLink(ui_location: string): string {
|
|
// Check if the ui location is a valid URL
|
|
try {
|
|
const url = new URL(ui_location);
|
|
// If it is a valid URL, return it as is
|
|
return url.href;
|
|
} catch (e) {
|
|
// If it fails, it means it's not a valid URL
|
|
}
|
|
|
|
// Check if the ui location is a port number
|
|
const parsedPort = parseInt(ui_location, 10);
|
|
if (!isNaN(parsedPort)) {
|
|
// If it's a port number, return a link to the service on that port
|
|
return `http://${window.location.hostname}:${parsedPort}`;
|
|
}
|
|
|
|
const pathPattern = /^\/.+/;
|
|
if (pathPattern.test(ui_location)) {
|
|
// If it starts with a slash, treat it as a full path
|
|
return ui_location;
|
|
}
|
|
|
|
return `/${ui_location}`;
|
|
} |