diff options
author | 2025-03-02 19:32:33 -0800 | |
---|---|---|
committer | 2025-03-02 19:32:33 -0800 | |
commit | 8b16dd20f6544af3eedf286e23c0d34ab525736c (patch) | |
tree | ec284e22a046c4c8e9626e3fa64a000a2747bf84 /middlewares/CacheMiddleware.php | |
parent | b183aa798af48af556496c42780d6e844172cf44 (diff) | |
parent | 00a24e2f694a319a5e6cb070dddfff2dae892378 (diff) | |
download | rss-bridge-master.tar.gz rss-bridge-master.tar.zst rss-bridge-master.zip |
Diffstat (limited to 'middlewares/CacheMiddleware.php')
-rw-r--r-- | middlewares/CacheMiddleware.php | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/middlewares/CacheMiddleware.php b/middlewares/CacheMiddleware.php index bffde4af..b8a34754 100644 --- a/middlewares/CacheMiddleware.php +++ b/middlewares/CacheMiddleware.php @@ -13,7 +13,7 @@ class CacheMiddleware implements Middleware public function __invoke(Request $request, $next): Response { - $action = $request->attribute('action'); + $action = $request->getAttribute('action'); if ($action !== 'DisplayAction') { // We only cache DisplayAction (for now) @@ -43,9 +43,14 @@ class CacheMiddleware implements Middleware /** @var Response $response */ $response = $next($request); - if (in_array($response->getCode(), [403, 429, 500, 503])) { + if ($response->getCode() === 200) { + // Do nothing because DisplayAction has already cached this on $cacheKey + } elseif (in_array($response->getCode(), [400, 403, 404, 429, 500, 503])) { // Cache these responses for about ~10 mins on average $this->cache->set($cacheKey, $response, 60 * 5 + rand(1, 60 * 10)); + } else { + // Should never happen + $this->cache->set($cacheKey, $response, 60 * 5); } // For 1% of requests, prune cache |