/** * Retrieves a gadget specification from the Internet, processes its views and * adds it to the cache. */ private function fetchFromWeb($url, $ignoreCache) { $remoteContentRequest = new RemoteContentRequest($url); $remoteContentRequest->getRequest($url, $ignoreCache); $spec = $this->fetcher->fetchRequest($remoteContentRequest); $specParser = new GadgetSpecParser(); $context = new ProxyGadgetContext($url); $gadgetSpec = $specParser->parse($spec->getResponseContent(), $context); return $gadgetSpec; }