mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-07-20 19:46:32 +08:00
chore: merge blocksuite source code (#9213)
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
const fetchImage = async (url: string, init?: RequestInit, proxy?: string) => {
|
||||
try {
|
||||
if (!proxy) {
|
||||
return await fetch(url, init);
|
||||
}
|
||||
if (url.startsWith('blob:')) {
|
||||
return await fetch(url, init);
|
||||
}
|
||||
if (url.startsWith('data:')) {
|
||||
return await fetch(url, init);
|
||||
}
|
||||
if (url.startsWith(window.location.origin)) {
|
||||
return await fetch(url, init);
|
||||
}
|
||||
return await fetch(proxy + '?url=' + encodeURIComponent(url), init)
|
||||
.then(res => {
|
||||
if (!res.ok) {
|
||||
throw new Error('Network response was not ok');
|
||||
}
|
||||
return res;
|
||||
})
|
||||
.catch(() => fetch(url, init));
|
||||
} catch (error) {
|
||||
console.warn('Error fetching image:', error);
|
||||
return null;
|
||||
}
|
||||
};
|
||||
|
||||
const fetchable = (url: string) =>
|
||||
url.startsWith('http:') ||
|
||||
url.startsWith('https:') ||
|
||||
url.startsWith('data:');
|
||||
|
||||
export const FetchUtils = {
|
||||
fetchImage,
|
||||
fetchable,
|
||||
};
|
||||
Reference in New Issue
Block a user