From ec246d27ab3c681e7e2a1e59be9705dff04b792a Mon Sep 17 00:00:00 2001 From: Anurag Hazra Date: Thu, 13 Aug 2020 19:26:42 +0530 Subject: [PATCH] fix: increase cache --- api/index.js | 4 ++-- api/pin.js | 6 +++--- api/top-langs.js | 4 ++-- readme.md | 2 +- src/common/utils.js | 1 + tests/api.test.js | 10 +++++----- 6 files changed, 14 insertions(+), 13 deletions(-) diff --git a/api/index.js b/api/index.js index 63954ba..62286a3 100644 --- a/api/index.js +++ b/api/index.js @@ -42,8 +42,8 @@ module.exports = async (req, res) => { } const cacheSeconds = clampValue( - parseInt(cache_seconds || CONSTANTS.THIRTY_MINUTES, 10), - CONSTANTS.THIRTY_MINUTES, + parseInt(cache_seconds || CONSTANTS.TWO_HOURS, 10), + CONSTANTS.TWO_HOURS, CONSTANTS.ONE_DAY ); diff --git a/api/pin.js b/api/pin.js index cf8ae72..a920061 100644 --- a/api/pin.js +++ b/api/pin.js @@ -32,8 +32,8 @@ module.exports = async (req, res) => { } let cacheSeconds = clampValue( - parseInt(cache_seconds || CONSTANTS.THIRTY_MINUTES, 10), - CONSTANTS.THIRTY_MINUTES, + parseInt(cache_seconds || CONSTANTS.TWO_HOURS, 10), + CONSTANTS.TWO_HOURS, CONSTANTS.ONE_DAY ); @@ -47,7 +47,7 @@ module.exports = async (req, res) => { const isBothOver1K = stars > 1000 && forks > 1000; const isBothUnder1 = stars < 1 && forks < 1; if (!cache_seconds && (isBothOver1K || isBothUnder1)) { - cacheSeconds = CONSTANTS.TWO_HOURS; + cacheSeconds = CONSTANTS.FOUR_HOURS; } res.setHeader("Cache-Control", `public, max-age=${cacheSeconds}`); diff --git a/api/top-langs.js b/api/top-langs.js index 43866d0..c473bd5 100644 --- a/api/top-langs.js +++ b/api/top-langs.js @@ -34,8 +34,8 @@ module.exports = async (req, res) => { } const cacheSeconds = clampValue( - parseInt(cache_seconds || CONSTANTS.THIRTY_MINUTES, 10), - CONSTANTS.THIRTY_MINUTES, + parseInt(cache_seconds || CONSTANTS.TWO_HOURS, 10), + CONSTANTS.TWO_HOURS, CONSTANTS.ONE_DAY ); diff --git a/readme.md b/readme.md index 9c45ad6..805bd20 100644 --- a/readme.md +++ b/readme.md @@ -139,7 +139,7 @@ You can provide multiple comma saperated values in bg_color option to render a g &bg_color=DEG,COLOR1,COLRO2,COLOR3...COLOR10 ``` -> Note on cache: Repo cards have default cache of 30mins (1800 seconds) if the fork count & star count is less than 1k otherwise it's 2hours (7200). Also note that cache is clamped to minimum of 30min and maximum of 24hours +> Note on cache: Repo cards have default cache of 4hours (14400 seconds) if the fork count & star count is less than 1k otherwise it's 2hours (7200). Also note that cache is clamped to minimum of 2hours and maximum of 24hours #### Stats Card Exclusive Options: diff --git a/src/common/utils.js b/src/common/utils.js index 3b44bbb..66413fc 100644 --- a/src/common/utils.js +++ b/src/common/utils.js @@ -167,6 +167,7 @@ const logger = const CONSTANTS = { THIRTY_MINUTES: 1800, TWO_HOURS: 7200, + FOUR_HOURS: 14400, ONE_DAY: 86400, }; diff --git a/tests/api.test.js b/tests/api.test.js index 2d1c532..e48d3df 100644 --- a/tests/api.test.js +++ b/tests/api.test.js @@ -143,17 +143,17 @@ describe("Test /api/", () => { expect(res.setHeader.mock.calls).toEqual([ ["Content-Type", "image/svg+xml"], - ["Cache-Control", `public, max-age=${CONSTANTS.THIRTY_MINUTES}`], + ["Cache-Control", `public, max-age=${CONSTANTS.TWO_HOURS}`], ]); }); it("should set proper cache", async () => { - const { req, res } = faker({ cache_seconds: 2000 }, data); + const { req, res } = faker({ cache_seconds: 8000 }, data); await api(req, res); expect(res.setHeader.mock.calls).toEqual([ ["Content-Type", "image/svg+xml"], - ["Cache-Control", `public, max-age=${2000}`], + ["Cache-Control", `public, max-age=${8000}`], ]); }); @@ -175,7 +175,7 @@ describe("Test /api/", () => { expect(res.setHeader.mock.calls).toEqual([ ["Content-Type", "image/svg+xml"], - ["Cache-Control", `public, max-age=${CONSTANTS.THIRTY_MINUTES}`], + ["Cache-Control", `public, max-age=${CONSTANTS.TWO_HOURS}`], ]); } @@ -185,7 +185,7 @@ describe("Test /api/", () => { expect(res.setHeader.mock.calls).toEqual([ ["Content-Type", "image/svg+xml"], - ["Cache-Control", `public, max-age=${CONSTANTS.THIRTY_MINUTES}`], + ["Cache-Control", `public, max-age=${CONSTANTS.TWO_HOURS}`], ]); } });