14 lines
696 B
JavaScript
14 lines
696 B
JavaScript
|
|
// Match a configured CLI base URL against all known endpoints (local/tunnel/tailscale/cloud)
|
||
|
|
const stripTrailingSlash = (s) => (s || "").replace(/\/+$/, "");
|
||
|
|
|
||
|
|
export function matchKnownEndpoint(currentUrl, opts = {}) {
|
||
|
|
if (!currentUrl) return false;
|
||
|
|
const url = stripTrailingSlash(currentUrl);
|
||
|
|
const { tunnelPublicUrl, tailscaleUrl, cloudUrl } = opts;
|
||
|
|
if (/localhost|127\.0\.0\.1|0\.0\.0\.0/.test(url)) return true;
|
||
|
|
if (tunnelPublicUrl && url.startsWith(stripTrailingSlash(tunnelPublicUrl))) return true;
|
||
|
|
if (tailscaleUrl && url.startsWith(stripTrailingSlash(tailscaleUrl))) return true;
|
||
|
|
if (cloudUrl && url.startsWith(stripTrailingSlash(cloudUrl))) return true;
|
||
|
|
return false;
|
||
|
|
}
|