Öffentliche Methoden | |
getHTTPFetcher ($timeout=20) | |
curlPresent () | |
_getHeader ($header_list, $names) | |
_getContentType ($content_type_header) | |
discover ($uri, &$fetcher, $extra_ns_map=null, $timeout=20) |
Definiert in Zeile 242 der Datei Yadis.php.
_getContentType | ( | $ | content_type_header | ) |
_getHeader | ( | $ | header_list, | |
$ | names | |||
) |
curlPresent | ( | ) |
discover | ( | $ | uri, | |
&$ | fetcher, | |||
$ | extra_ns_map = null , |
|||
$ | timeout = 20 | |||
) |
This should be called statically and will build a Yadis instance if the discovery process succeeds. This implements Yadis discovery as specified in the Yadis specification.
string | $uri The URI on which to perform Yadis discovery. | |
array | $http_response An array reference where the HTTP response object will be stored (see Auth_Yadis_HTTPResponse. | |
Auth_Yadis_HTTPFetcher | $fetcher An instance of a Auth_Yadis_HTTPFetcher subclass. | |
array | $extra_ns_map An array which maps namespace names to namespace URIs to be used when parsing the Yadis XRDS document. | |
integer | $timeout An optional fetcher timeout, in seconds. |
Definiert in Zeile 320 der Datei Yadis.php.
00322 { 00323 $result = new Auth_Yadis_DiscoveryResult($uri); 00324 00325 $request_uri = $uri; 00326 $headers = array("Accept: " . Auth_Yadis_CONTENT_TYPE . 00327 ', text/html; q=0.3, application/xhtml+xml; q=0.5'); 00328 00329 if ($fetcher === null) { 00330 $fetcher = Auth_Yadis_Yadis::getHTTPFetcher($timeout); 00331 } 00332 00333 $response = $fetcher->get($uri, $headers); 00334 00335 if (!$response || ($response->status != 200 and 00336 $response->status != 206)) { 00337 $result->fail(); 00338 return $result; 00339 } 00340 00341 $result->normalized_uri = $response->final_url; 00342 $result->content_type = Auth_Yadis_Yadis::_getHeader( 00343 $response->headers, 00344 array('content-type')); 00345 00346 if ($result->content_type && 00347 (Auth_Yadis_Yadis::_getContentType($result->content_type) == 00348 Auth_Yadis_CONTENT_TYPE)) { 00349 $result->xrds_uri = $result->normalized_uri; 00350 } else { 00351 $yadis_location = Auth_Yadis_Yadis::_getHeader( 00352 $response->headers, 00353 array(Auth_Yadis_HEADER_NAME)); 00354 00355 if (!$yadis_location) { 00356 $parser = new Auth_Yadis_ParseHTML(); 00357 $yadis_location = $parser->getHTTPEquiv($response->body); 00358 } 00359 00360 if ($yadis_location) { 00361 $result->xrds_uri = $yadis_location; 00362 00363 $response = $fetcher->get($yadis_location); 00364 00365 if ((!$response) || ($response->status != 200 and 00366 $response->status != 206)) { 00367 $result->fail(); 00368 return $result; 00369 } 00370 00371 $result->content_type = Auth_Yadis_Yadis::_getHeader( 00372 $response->headers, 00373 array('content-type')); 00374 } 00375 } 00376 00377 $result->response_text = $response->body; 00378 return $result; 00379 }
getHTTPFetcher | ( | $ | timeout = 20 |
) |
Returns an HTTP fetcher object. If the CURL extension is present, an instance of Auth_Yadis_ParanoidHTTPFetcher is returned. If not, an instance of Auth_Yadis_PlainHTTPFetcher is returned.
If Auth_Yadis_CURL_OVERRIDE is defined, this method will always return a Auth_Yadis_PlainHTTPFetcher.
Definiert in Zeile 253 der Datei Yadis.php.
00254 { 00255 if (Auth_Yadis_Yadis::curlPresent() && 00256 (!defined('Auth_Yadis_CURL_OVERRIDE'))) { 00257 $fetcher = new Auth_Yadis_ParanoidHTTPFetcher($timeout); 00258 } else { 00259 $fetcher = new Auth_Yadis_PlainHTTPFetcher($timeout); 00260 } 00261 return $fetcher; 00262 }
Copyright © 2003 - 2009 MyOOS [Shopsystem]. All rights reserved. MyOOS [Shopsystem] is Free Software released under the GNU/GPL License. Webmaster: info@r23.de (Impressum) |
|