diff options
Diffstat (limited to 'src/server.ts')
| -rw-r--r-- | src/server.ts | 33 |
1 files changed, 25 insertions, 8 deletions
diff --git a/src/server.ts b/src/server.ts index ce9f049..3520958 100644 --- a/src/server.ts +++ b/src/server.ts @@ -17,7 +17,14 @@ const PORT: number = Number(process.env.PORT) || 4000; app.use(morgan("dev")); app.use(corsConfig); -app.use(ratelimit); + +// CAUTION: For personal deployments, "refrain" from having an env +// named "ANIWATCH_API_HOSTNAME". You may face rate limitting +// and other issues if you do. +const ISNT_PERSONAL_DEPLOYMENT = Boolean(process?.env?.ANIWATCH_API_HOSTNAME); +if (ISNT_PERSONAL_DEPLOYMENT) { + app.use(ratelimit); +} app.use(express.static(resolve("public"))); app.get("/health", (_, res) => res.sendStatus(200)); @@ -26,18 +33,28 @@ app.use("/anime", animeRouter); app.use(notFoundHandler); app.use(errorHandler); +// NOTE: this env is "required" for vercel deployments if (!Boolean(process?.env?.IS_VERCEL_DEPLOYMENT)) { app.listen(PORT, () => { console.log(`⚔️ api @ http://localhost:${PORT}`); }); - // don't sleep - // remove the setInterval below for personal deployments - const intervalTime = 9 * 60 * 1000; // 9mins - setInterval(() => { - console.log("HEALTHCHECK ;)", new Date().toLocaleString()); - https.get("https://api-aniwatch.onrender.com/health"); - }, intervalTime); + // NOTE: remove the `if` block below for personal deployments + if (ISNT_PERSONAL_DEPLOYMENT) { + // don't sleep + const intervalTime = 9 * 60 * 1000; // 9mins + setInterval(() => { + console.log("HEALTHCHECK ;)", new Date().toLocaleString()); + https + .get( + new URL("/health", `https://${process.env.ANIWATCH_API_HOSTNAME}`) + .href + ) + .on("error", (err) => { + console.error(err.message); + }); + }, intervalTime); + } } export default app; |
