public static function import($uri, $client = null, $className = 'Zend_Gdata_Feed') { $app = new Zend_Gdata($client); $requestData = $app->decodeRequest('GET', $uri); $response = $app->performHttpRequest($requestData['method'], $requestData['url']); $feedContent = $response->getBody(); $feed = self::importString($feedContent, $className); if ($client != null) { $feed->setHttpClient($client); } return $feed; }
/** * Performs a HTTP request using the specified method * * @param string $method The HTTP method for the request - 'GET', 'POST', * 'PUT', 'DELETE' * @param string $url The URL to which this request is being performed * @param array $headers An associative array of HTTP headers * for this request * @param string $body The body of the HTTP request * @param string $contentType The value for the content type * of the request body * @param int $remainingRedirects Number of redirects to follow if request * s results in one * @return Zend_Http_Response The response object */ public function performHttpRequest($method, $url, $headers = null, $body = null, $contentType = null, $remainingRedirects = null) { try { $url .= '?warnings'; $debugData = array('method' => $method, 'url' => $url, 'headers' => $headers, 'body' => $body, 'content_type' => $contentType, 'remaining_redirects' => $remainingRedirects); $result = parent::performHttpRequest($method, $url, $headers, $body, $contentType, $remainingRedirects); $debugData['response'] = $result; $this->debugData($debugData); return $result; } catch (Zend_Gdata_App_HttpException $e) { $debugData['response'] = $e->getResponse(); $this->debugData($debugData); throw new Varien_Gdata_Gshopping_HttpException($e); } }