/** * @param CurlWrapper $curl * * @return Response */ protected function buildResponse(CurlWrapper $curl) { if ($this->queriedRequest->method === Request::DOWNLOAD) { $headers = FileResponse::stripHeaders($curl); if ($previous = $this->buildRedirectResponse($curl)) { $headers = CurlWrapper::parseHeaders($curl->responseHeaders); } $response = new FileResponse($curl, $headers); $response->setPrevious($previous); return $response; } $headers = Response::stripHeaders($curl); if ($previous = $this->buildRedirectResponse($curl)) { $headers = CurlWrapper::parseHeaders($curl->responseHeaders); } if ($this->isHtmlResponse($curl, $headers)) { $curl->response = HtmlResponse::convertEncoding($curl); $response = new HtmlResponse($curl, $headers); $response->setPrevious($previous); return $response; } $response = new Response($curl, $headers); $response->setPrevious($previous); return $response; }