mirror of https://github.com/go-gitea/gitea.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
22 lines
853 B
22 lines
853 B
// Convert an absolute or relative URL to an absolute URL with the current origin. It only |
|
// processes absolute HTTP/HTTPS URLs or relative URLs like '/xxx' or '//host/xxx'. |
|
// NOTE: Keep this function in sync with clone_script.tmpl |
|
export function toOriginUrl(urlStr) { |
|
try { |
|
if (urlStr.startsWith('http://') || urlStr.startsWith('https://') || urlStr.startsWith('/')) { |
|
const {origin, protocol, hostname, port} = window.location; |
|
const url = new URL(urlStr, origin); |
|
url.protocol = protocol; |
|
url.hostname = hostname; |
|
url.port = port || (protocol === 'https:' ? '443' : '80'); |
|
return url.toString(); |
|
} |
|
} catch {} |
|
return urlStr; |
|
} |
|
|
|
window.customElements.define('origin-url', class extends HTMLElement { |
|
connectedCallback() { |
|
this.textContent = toOriginUrl(this.getAttribute('data-url')); |
|
} |
|
});
|
|
|