From 0e524c8c280e9f5e91c761ea9405bf8a34c7d377 Mon Sep 17 00:00:00 2001 From: Arjan Singh Date: Mon, 25 Aug 2025 18:41:01 -0700 Subject: [PATCH] refactor: adjust fall-through order of caching scenarios --- server.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/server.py b/server.py index da199b523..1b567b07c 100644 --- a/server.py +++ b/server.py @@ -57,19 +57,19 @@ async def cache_control(request: web.Request, handler: Callable[[web.Request], A if request.path.endswith('.js') or request.path.endswith('.css') or request.path.endswith('index.json'): response.headers.setdefault('Cache-Control', 'no-cache') elif request.path.lower().endswith(IMG_EXTENSIONS): - if 200 <= response.status < 300: - response.headers.setdefault('Cache-Control', f"public, max-age={ONE_DAY}") - elif response.status == 304: + if response.status == 304: # 304 Not Modified - don't set cache headers, inherit from original pass - elif response.status in (301, 308): + elif response.status == 404: + response.headers.setdefault('Cache-Control', f"public, max-age={ONE_HOUR}") + elif 200 <= response.status < 300: + response.headers.setdefault('Cache-Control', f"public, max-age={ONE_DAY}") + elif response.status == 301 or response.status == 308: # Permanent redirects - cache for 1 day response.headers.setdefault('Cache-Control', f"public, max-age={ONE_DAY}") elif 300 <= response.status < 400: # Temporary redirects (302, 303, 307) and other 3xx - no cache response.headers.setdefault('Cache-Control', 'no-cache') - elif response.status == 404: - response.headers.setdefault('Cache-Control', f"public, max-age={ONE_HOUR}") return response