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.
19 lines
752 B
19 lines
752 B
export function pathEscapeSegments(s: string): string { |
|
return s.split('/').map(encodeURIComponent).join('/'); |
|
} |
|
|
|
/** 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'. */ |
|
export function toOriginUrl(urlStr: string) { |
|
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; |
|
}
|
|
|