- function update(SplSubject $client, Request $request = null, $progress = null) {
- if ($request !== $this->request) {
- return;
+ private function cached(Response &$cached = null) : bool {
+ $fresh = $this->cache->load($this->request, $cachedResponse);
+
+ if (!$cachedResponse) {
+ return false;
+ } else {
+ $cached = $cachedResponse;
+
+ $this->logger->info("deferred -> cached", [
+ "method" => $this->request->getRequestMethod(),
+ "url" => $this->request->getRequestUrl(),
+ ]);
+
+
+ if (!$fresh) {
+ $this->logger->info("cached -> stale", [
+ "method" => $this->request->getRequestMethod(),
+ "url" => $this->request->getRequestUrl(),
+ ]);
+ return false;
+ }