Edge Cache time as environment variable

This commit is contained in:
Xevion
2023-02-23 21:59:02 -06:00
parent c23fde54da
commit f1147d92af
3 changed files with 4 additions and 1 deletions

1
src/env/schema.mjs vendored
View File

@@ -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
View File

@@ -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) {

View File

@@ -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 });
} }