code: public function get($uri)
      {
          $key = sha1($uri);
          if (!$this->cache->contains($key)) {
              $this->cache->save($key, '{"items": []}', 60);
              try {
                  $body = $this->client->get($uri);
                  $this->cache->save($key, $body, 0);
                  $this->cache->save($key . '.header', json_encode($this->client->getHeaders()->toArray()), 0);
                  $this->setEtag(null);
              } catch (RuntimeException $e) {
                  $this->cache->delete($key);
                  throw $e;
              }
          }
          $this->headers = new ArrayCollection((array)json_decode($this->cache->fetch($key . '.header')));
          return $this->cache->fetch($key);
      }
docs: {@inheritdoc}