@@ -99,7 +99,7 @@ public function handleRequest(RequestInterface $request, callable $next, callabl
99
99
// The cached response we have is still valid
100
100
$ data = $ cacheItem ->get ();
101
101
$ data ['expiresAt ' ] = time () + $ this ->getMaxAge ($ response );
102
- $ cacheItem ->set ($ data )->expiresAfter ($ this ->config ['cache_lifetime ' ]);
102
+ $ cacheItem ->set ($ data )->expiresAfter ($ this ->config ['cache_lifetime ' ] + $ data [ ' expiresAt ' ] );
103
103
$ this ->pool ->save ($ cacheItem );
104
104
105
105
return $ this ->createResponseFromCacheItem ($ cacheItem );
@@ -114,12 +114,13 @@ public function handleRequest(RequestInterface $request, callable $next, callabl
114
114
$ response = $ response ->withBody ($ this ->streamFactory ->createStream ($ body ));
115
115
}
116
116
117
+ $ expiresAt = time () + $ this ->getMaxAge ($ response );
117
118
$ cacheItem
118
- ->expiresAfter ($ this ->config ['cache_lifetime ' ])
119
+ ->expiresAfter ($ this ->config ['cache_lifetime ' ] + $ expiresAt )
119
120
->set ([
120
121
'response ' => $ response ,
121
122
'body ' => $ body ,
122
- 'expiresAt ' => time () + $ this -> getMaxAge ( $ response ) ,
123
+ 'expiresAt ' => $ expiresAt ,
123
124
'createdAt ' => time (),
124
125
'etag ' => $ response ->getHeader ('ETag ' ),
125
126
]);
@@ -268,7 +269,7 @@ private function getModifiedAt(CacheItemInterface $cacheItem)
268
269
{
269
270
$ data = $ cacheItem ->get ();
270
271
if (!isset ($ data ['createdAt ' ])) {
271
- return null ;
272
+ return ;
272
273
}
273
274
274
275
return $ data ['createdAt ' ];
@@ -285,17 +286,17 @@ private function getETag(CacheItemInterface $cacheItem)
285
286
{
286
287
$ data = $ cacheItem ->get ();
287
288
if (!isset ($ data ['etag ' ])) {
288
- return null ;
289
+ return ;
289
290
}
290
291
291
292
if (is_array ($ data ['etag ' ])) {
292
- foreach ($ data ['etag ' ] as $ etag ) {
293
+ foreach ($ data ['etag ' ] as $ etag ) {
293
294
if (!empty ($ etag )) {
294
295
return $ etag ;
295
296
}
296
297
}
297
298
298
- return null ;
299
+ return ;
299
300
}
300
301
301
302
return $ data ['etag ' ];
0 commit comments