aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorFuwn <[email protected]>2023-12-10 02:52:42 -0800
committerFuwn <[email protected]>2023-12-10 02:52:42 -0800
commit5ce87ef1ae379db84e7ee0b32e2a5024b7915d81 (patch)
treed35340921d5683260053876016d934f42bfc2234 /src
parentfeat(manga): lighter rate-limits (diff)
downloaddue.moe-5ce87ef1ae379db84e7ee0b32e2a5024b7915d81.tar.xz
due.moe-5ce87ef1ae379db84e7ee0b32e2a5024b7915d81.zip
feat(api): safe response rate-limits
Diffstat (limited to 'src')
-rw-r--r--src/routes/api/birthdays/acdb/+server.ts7
-rw-r--r--src/routes/api/birthdays/anisearch/+server.ts7
-rw-r--r--src/routes/api/mangadex/chapter/+server.ts7
-rw-r--r--src/routes/api/mangadex/feed/+server.ts7
-rw-r--r--src/routes/api/mangadex/manga/+server.ts6
5 files changed, 29 insertions, 5 deletions
diff --git a/src/routes/api/birthdays/acdb/+server.ts b/src/routes/api/birthdays/acdb/+server.ts
index fe13ff7c..b82dbd73 100644
--- a/src/routes/api/birthdays/acdb/+server.ts
+++ b/src/routes/api/birthdays/acdb/+server.ts
@@ -14,6 +14,11 @@ export const GET = async ({ url }: { url: URL }) => {
}
}
)
- ).json()
+ ).json(),
+ {
+ headers: {
+ 'Cache-Control': 'max-age=1800'
+ }
+ }
);
};
diff --git a/src/routes/api/birthdays/anisearch/+server.ts b/src/routes/api/birthdays/anisearch/+server.ts
index 7f071927..e9d1ddcb 100644
--- a/src/routes/api/birthdays/anisearch/+server.ts
+++ b/src/routes/api/birthdays/anisearch/+server.ts
@@ -29,6 +29,11 @@ export const GET = async ({ url }: { url: URL }) => {
: null,
name: title.textContent?.trim()
};
- })
+ }),
+ {
+ headers: {
+ 'Cache-Control': 'max-age=1800'
+ }
+ }
);
};
diff --git a/src/routes/api/mangadex/chapter/+server.ts b/src/routes/api/mangadex/chapter/+server.ts
index 602427ba..68e125bd 100644
--- a/src/routes/api/mangadex/chapter/+server.ts
+++ b/src/routes/api/mangadex/chapter/+server.ts
@@ -9,7 +9,12 @@ export const GET = async ({ url }) => {
'chapter'
)}&contentRating[]=safe&contentRating[]=suggestive&contentRating[]=erotica&contentRating[]=pornographic&limit=1`
)
- ).json()
+ ).json(),
+ {
+ headers: {
+ 'Cache-Control': 'max-age=300'
+ }
+ }
);
} catch {
return new Response('rate-limited');
diff --git a/src/routes/api/mangadex/feed/+server.ts b/src/routes/api/mangadex/feed/+server.ts
index ab28ba2b..ebfdd094 100644
--- a/src/routes/api/mangadex/feed/+server.ts
+++ b/src/routes/api/mangadex/feed/+server.ts
@@ -7,7 +7,12 @@ export const GET = async ({ url }) => {
'id'
)}/feed?order[chapter]=desc&translatedLanguage[]=en&limit=1&contentRating[]=safe&contentRating[]=suggestive&contentRating[]=erotica&contentRating[]=pornographic`
)
- ).json()
+ ).json(),
+ {
+ headers: {
+ 'Cache-Control': 'max-age=300'
+ }
+ }
);
} catch {
return new Response('rate-limited');
diff --git a/src/routes/api/mangadex/manga/+server.ts b/src/routes/api/mangadex/manga/+server.ts
index e80d0b6a..521bde6c 100644
--- a/src/routes/api/mangadex/manga/+server.ts
+++ b/src/routes/api/mangadex/manga/+server.ts
@@ -57,5 +57,9 @@ export const GET = async ({ url }) => {
}
}
- return Response.json(mangadexData);
+ return Response.json(mangadexData, {
+ headers: {
+ 'Cache-Control': 'max-age=300'
+ }
+ });
};