aboutsummaryrefslogtreecommitdiff
path: root/src/routes/api/birthdays
diff options
context:
space:
mode:
Diffstat (limited to 'src/routes/api/birthdays')
-rw-r--r--src/routes/api/birthdays/primary/+server.ts74
-rw-r--r--src/routes/api/birthdays/secondary/+server.ts51
2 files changed, 63 insertions, 62 deletions
diff --git a/src/routes/api/birthdays/primary/+server.ts b/src/routes/api/birthdays/primary/+server.ts
index 774d47e1..109961f8 100644
--- a/src/routes/api/birthdays/primary/+server.ts
+++ b/src/routes/api/birthdays/primary/+server.ts
@@ -1,40 +1,40 @@
-import { JSDOM } from 'jsdom';
+import { JSDOM } from "jsdom";
+import { appOriginHeaders } from "$lib/Utility/appOrigin";
export const GET = async ({ url }: { url: URL }) => {
- const document = new JSDOM(
- await (
- await fetch(
- `https://www.anisearch.com/character/birthdays?month=${url.searchParams.get('month')}`
- )
- ).text()
- ).window.document;
- const section = document.querySelector(`#day-${url.searchParams.get('day')}`);
-
- if (!section) return Response.json([]);
-
- const ul = section.querySelector('ul.covers.simple');
-
- if (!ul) return Response.json([]);
-
- return Response.json(
- Array.from(ul.querySelectorAll('li')).map((li) => {
- const anchor = li.querySelector('a');
- const title = li.querySelector('.title');
-
- if (!anchor || !title) return { image: '', title: '' };
-
- const image = li.getElementsByClassName('item-cover')[0];
-
- return {
- image: image ? image.getAttribute('src') : '',
- name: title.textContent?.trim()
- };
- }),
- {
- headers: {
- 'Cache-Control': 'max-age=10800, s-maxage=10800',
- 'Access-Control-Allow-Origin': 'https://due.moe'
- }
- }
- );
+ const document = new JSDOM(
+ await (
+ await fetch(
+ `https://www.anisearch.com/character/birthdays?month=${url.searchParams.get("month")}`,
+ )
+ ).text(),
+ ).window.document;
+ const section = document.querySelector(`#day-${url.searchParams.get("day")}`);
+
+ if (!section) return Response.json([]);
+
+ const ul = section.querySelector("ul.covers.simple");
+
+ if (!ul) return Response.json([]);
+
+ return Response.json(
+ Array.from(ul.querySelectorAll("li")).map((li) => {
+ const anchor = li.querySelector("a");
+ const title = li.querySelector(".title");
+
+ if (!anchor || !title) return { image: "", title: "" };
+
+ const image = li.getElementsByClassName("item-cover")[0];
+
+ return {
+ image: image ? image.getAttribute("src") : "",
+ name: title.textContent?.trim(),
+ };
+ }),
+ {
+ headers: appOriginHeaders({
+ "Cache-Control": "max-age=10800, s-maxage=10800",
+ }),
+ },
+ );
};
diff --git a/src/routes/api/birthdays/secondary/+server.ts b/src/routes/api/birthdays/secondary/+server.ts
index 5036622f..4619828f 100644
--- a/src/routes/api/birthdays/secondary/+server.ts
+++ b/src/routes/api/birthdays/secondary/+server.ts
@@ -1,28 +1,29 @@
-import { env } from '$env/dynamic/private';
+import { env } from "$env/dynamic/private";
+import { appOriginHeaders } from "$lib/Utility/appOrigin";
export const GET = async ({ url }: { url: URL }) => {
- return Response.json(
- await (
- await fetch(
- `https://www.animecharactersdatabase.com/api_series_characters.php?month=${url.searchParams.get(
- 'month'
- )}&day=${url.searchParams.get('day')}`,
- {
- headers: {
- Accept: 'application/json',
- 'Content-Type': 'application/json',
- 'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64; rv:120.0) Gecko/20100101 Firefox/120.0',
- 'Cache-Control': 'max-age=10, s-maxage=10',
- Cookie: `USTATS=${env.ACDB_COOKIE}`
- }
- }
- )
- ).json(),
- {
- headers: {
- 'Cache-Control': 'max-age=10800, s-maxage=10800',
- 'Access-Control-Allow-Origin': 'https://due.moe'
- }
- }
- );
+ return Response.json(
+ await (
+ await fetch(
+ `https://www.animecharactersdatabase.com/api_series_characters.php?month=${url.searchParams.get(
+ "month",
+ )}&day=${url.searchParams.get("day")}`,
+ {
+ headers: {
+ Accept: "application/json",
+ "Content-Type": "application/json",
+ "User-Agent":
+ "Mozilla/5.0 (X11; Linux x86_64; rv:120.0) Gecko/20100101 Firefox/120.0",
+ "Cache-Control": "max-age=10, s-maxage=10",
+ Cookie: `USTATS=${env.ACDB_COOKIE}`,
+ },
+ },
+ )
+ ).json(),
+ {
+ headers: appOriginHeaders({
+ "Cache-Control": "max-age=10800, s-maxage=10800",
+ }),
+ },
+ );
};