protected doRequest ( Symfony\Component\BrowserKit\Request $request ) : Symfony\Component\BrowserKit\Response | ||
$request | Symfony\Component\BrowserKit\Request | |
return | Symfony\Component\BrowserKit\Response |
public function doRequest($request) { $uri = $request->getUri(); if ($this->walker->isUrlToCheck($uri, "")) { $response = parent::doRequest($request); $statusCode = $response->getStatus(); $this->lastUri = $uri; $this->lastStatus = $statusCode; $this->walker->storage->add("stats", array("URL" => $uri, "STATUS" => $statusCode, "CALLED IN" => $this->lastReferer)); } else { $headers[] = ""; $statusCode = $this->walker->storage->find("stats", $uri)[1]; $response = new Response("", $statusCode, $headers); } $this->walker->urlsVisited[] = $uri; return $response; }
/** * Cache decorator and extend timeout * @param Request $request */ protected function doRequest($request) { if ($cache = $this->getRequestCache($request)) { return $cache; } $attempt = 0; while ($attempt < static::ATTEMPTS) { try { $result = parent::doRequest($request); if ($this->useCache) { $this->setRequestCache($request, $result); } return $result; } catch (\Exception $e) { $attempt++; } } throw new \Exception('20 request attempts failed.'); }