ghp / packages /client /src /lib /cover.ts
QSLY's picture
deploy: build Hugging Face Space from source
00a912e
Raw
History Blame Contribute Delete
759 Bytes
import { SERVER_URL } from './config'
const PROXY_COVER_HOSTS = new Set(['y.gtimg.cn', 'imgessl.kugou.com'])
export function isBilibiliCoverUrl(coverUrl: string): boolean {
try {
return new URL(coverUrl).hostname.endsWith('.hdslb.com')
} catch {
return false
}
}
/** Route non-Bilibili cover CDNs that reject browser-origin image requests through our cover proxy. */
export function getProxiedCoverUrl(coverUrl: string): string {
try {
const { hostname } = new URL(coverUrl)
if (PROXY_COVER_HOSTS.has(hostname)) {
return `${SERVER_URL}/api/music/cover-proxy?url=${encodeURIComponent(coverUrl)}`
}
} catch {
// Keep invalid URLs unchanged so the image element's normal error handling applies.
}
return coverUrl
}