Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
<?php/*** This module contains the HTTP fetcher interface** PHP versions 4 and 5** LICENSE: See the COPYING file included in this distribution.** @package Yadis* @author JanRain, Inc. <openid@janrain.com>* @copyright 2005 Janrain, Inc.* @license http://www.gnu.org/copyleft/lesser.html LGPL*/class Services_Yadis_HTTPResponse {function Services_Yadis_HTTPResponse($final_url = null, $status = null,$headers = null, $body = null){$this->final_url = $final_url;$this->status = $status;$this->headers = $headers;$this->body = $body;}}/*** This class is the interface for HTTP fetchers the Yadis library* uses. This interface is only important if you need to write a new* fetcher for some reason.** @access private* @package Yadis*/class Services_Yadis_HTTPFetcher {var $timeout = 20; // timeout in seconds./*** Return whether a URL should be allowed. Override this method to* conform to your local policy.** By default, will attempt to fetch any http or https URL.*/function allowedURL($url){return $this->URLHasAllowedScheme($url);}/*** Is this an http or https URL?** @access private*/function URLHasAllowedScheme($url){return (bool)preg_match('/^https?:\/\//i', $url);}/*** @access private*/function _findRedirect($headers){foreach ($headers as $line) {if (strpos($line, "Location: ") === 0) {$parts = explode(" ", $line, 2);return $parts[1];}}return null;}/*** Fetches the specified URL using optional extra headers and* returns the server's response.** @param string $url The URL to be fetched.* @param array $extra_headers An array of header strings* (e.g. "Accept: text/html").* @return mixed $result An array of ($code, $url, $headers,* $body) if the URL could be fetched; null if the URL does not* pass the URLHasAllowedScheme check or if the server's response* is malformed.*/function get($url, $headers){trigger_error("not implemented", E_USER_ERROR);}}?>