{
const env = c.env as unknown as Env;
const feedId = c.req.param("feedId");
const receivedAt = parseInt(c.req.param("entryId"), 10);
if (!feedId || isNaN(receivedAt)) {
return new Response("Not Found", { status: 404 });
}
const emailStorage = env.EMAIL_STORAGE;
const feedMetadata = (await emailStorage.get(
`feed:${feedId}:metadata`,
"json",
)) as FeedMetadata | null;
if (!feedMetadata) {
return new Response("Feed not found", { status: 404 });
}
const metaEntry = feedMetadata.emails.find((e) => e.receivedAt === receivedAt);
if (!metaEntry) {
return new Response("Entry not found", { status: 404 });
}
const emailData = (await emailStorage.get(
metaEntry.key,
"json",
)) as EmailData | null;
if (!emailData) {
return new Response("Entry not found", { status: 404 });
}
c.header(
"Content-Security-Policy",
"default-src 'none'; style-src 'unsafe-inline'; img-src *; frame-src 'none'",
);
return c.html(html`
${emailData.subject}
${emailData.subject}
- From:
- ${emailData.from}
- Date:
- ${new Date(emailData.receivedAt).toUTCString()}
${raw(emailData.content)}
`);
}