mirror of
https://github.com/Xevion/bus-reminder.git
synced 2025-12-10 16:06:42 -06:00
Edge Cache time as environment variable
This commit is contained in:
1
src/env/schema.mjs
vendored
1
src/env/schema.mjs
vendored
@@ -15,4 +15,5 @@ export const serverSchema = z.object({
|
|||||||
MAX_DISTANCE: z.coerce.number().positive(),
|
MAX_DISTANCE: z.coerce.number().positive(),
|
||||||
CENTER_LATITUDE: z.coerce.number().min(-90).max(90),
|
CENTER_LATITUDE: z.coerce.number().min(-90).max(90),
|
||||||
CENTER_LONGITUDE: z.coerce.number().min(-180).max(180),
|
CENTER_LONGITUDE: z.coerce.number().min(-180).max(180),
|
||||||
|
EDGE_CACHE_TIME_SECONDS: z.coerce.number().int().nonnegative().default(60),
|
||||||
});
|
});
|
||||||
|
|||||||
1
src/env/server.mjs
vendored
1
src/env/server.mjs
vendored
@@ -16,6 +16,7 @@ const _serverEnv = serverSchema.safeParse({
|
|||||||
MAX_DISTANCE: process.env.MAX_DISTANCE,
|
MAX_DISTANCE: process.env.MAX_DISTANCE,
|
||||||
CENTER_LATITUDE: process.env.CENTER_LATITUDE,
|
CENTER_LATITUDE: process.env.CENTER_LATITUDE,
|
||||||
CENTER_LONGITUDE: process.env.CENTER_LONGITUDE,
|
CENTER_LONGITUDE: process.env.CENTER_LONGITUDE,
|
||||||
|
EDGE_CACHE_TIME_SECONDS: process.env.EDGE_CACHE_TIME_SECONDS,
|
||||||
});
|
});
|
||||||
|
|
||||||
if (_serverEnv.success === false) {
|
if (_serverEnv.success === false) {
|
||||||
|
|||||||
@@ -20,10 +20,11 @@ export default async function handler(
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
const diff = await getDistance();
|
const diff = await getDistance();
|
||||||
|
|
||||||
// auth passed
|
// auth passed
|
||||||
res.setHeader('Cache-Control', 'max-age=0, s-maxage=60, stale-while-revalidate');
|
res.setHeader('Cache-Control', `max-age=0, s-maxage=${env.EDGE_CACHE_TIME_SECONDS}, stale-while-revalidate`);
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
res.status(200).json({ diff, inRange: diff < env.MAX_DISTANCE });
|
res.status(200).json({ diff, inRange: diff < env.MAX_DISTANCE });
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user