-
Notifications
You must be signed in to change notification settings - Fork 10
/
DiscordKeepURL.js
27 lines (26 loc) · 777 Bytes
/
DiscordKeepURL.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
async function handleRequest(request) {
const userAgent = request.headers.get("user-agent");
if (userAgent && userAgent.includes("Discord")) {
const response = await fetch(request);
if (response.status == 200) {
const contentType = response.headers.get("content-type");
if (contentType && contentType.startsWith("image/")) {
return new Response(`<html>
<head>
<meta property="twitter:card" content="summary_large_image">
<meta property="twitter:image" content="${request.url}">
</head>
</html>`, {
headers: {
"content-type": "text/html"
}
});
}
}
return response;
}
return fetch(request);
}
addEventListener("fetch", event => {
event.respondWith(handleRequest(event.request));
});