From 728b69d71a005ba32ebe2b6b7d79bff0a4bcfb9b Mon Sep 17 00:00:00 2001 From: Heiko Rothkranz Date: Fri, 3 Jun 2022 08:57:51 +0800 Subject: [PATCH] fix: Interpret `max-age=0` as a valid `cache-control` header (#253) * fix: Interpret `max-age=0` as a valid `cache-control` header * tests: added max-age=0 test * fix: fixed linting Co-authored-by: arthurfiorette --- src/header/interpreter.ts | 2 +- test/header/cache-control.test.ts | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/header/interpreter.ts b/src/header/interpreter.ts index 8b51748..34f6e96 100644 --- a/src/header/interpreter.ts +++ b/src/header/interpreter.ts @@ -28,7 +28,7 @@ export const defaultHeaderInterpreter: HeadersInterpreter = (headers) => { return 0; } - if (maxAge) { + if (maxAge !== undefined) { const age = headers[Header.Age]; if (!age) { diff --git a/test/header/cache-control.test.ts b/test/header/cache-control.test.ts index d88c65e..cf0ba9f 100644 --- a/test/header/cache-control.test.ts +++ b/test/header/cache-control.test.ts @@ -30,4 +30,13 @@ describe('test Cache-Control header', () => { // 10 Seconds in milliseconds expect(result).toBe(10 * 1000); }); + + it('tests with max-age of 0', () => { + const result = defaultHeaderInterpreter({ + [Header.CacheControl]: 'max-age=0' + }); + + expect(result).toBe(0); + expect(result).not.toBe('not enough headers'); + }); });