client = $client ?: new Client(); $this->resource = $resource; } /** * @return string */ public function getContents() { return $this->buildRequest()->send()->getBody(true); } /** * @return resource */ public function getContentsAsStream() { if (!$this->stream) { $this->stream = $this->buildRequest()->send()->getBody(false); } return $this->stream->getStream(); } /** * @return \Guzzle\Http\Message\RequestInterface */ private function buildRequest() { return $this->client->get($this->resource->getOriginal()); } }