diff --git a/backend/lumens.ts b/backend/lumens.ts index b7f24df2..25b030c1 100644 --- a/backend/lumens.ts +++ b/backend/lumens.ts @@ -18,6 +18,10 @@ export async function v1Handler(_: any, res: Response, next: NextFunction) { try { const cachedData = await getOrThrow(redisClient, "lumensV1"); const obj: CachedData = JSON.parse(cachedData); + res.setHeader( + "Cache-Control", + "public, max-age=300, stale-while-revalidate=600", + ); res.json(obj); } catch (e) { next(e); diff --git a/test/tests/integration/backend.ts b/test/tests/integration/backend.ts index 36f85341..e0bce6a6 100644 --- a/test/tests/integration/backend.ts +++ b/test/tests/integration/backend.ts @@ -18,7 +18,17 @@ describe("integration", function () { describe("backend api endpoints", function () { it("/api/lumens should return successfuly with data", async function () { - let { body } = await request(app).get("/api/lumens").expect(200); + let { body, headers } = await request(app) + .get("/api/lumens") + .expect(200) + .expect( + "Cache-Control", + "public, max-age=300, stale-while-revalidate=600", + ); + + chai + .expect(headers["cache-control"]) + .to.include("public, max-age=300, stale-while-revalidate=600"); chai.expect(body).to.be.an("object"); chai.expect(Object.keys(body).length).to.not.equal(0);