Auth_Yadis_Yadis Klassenreferenz


Öffentliche Methoden

 getHTTPFetcher ($timeout=20)
 curlPresent ()
 _getHeader ($header_list, $names)
 _getContentType ($content_type_header)
 discover ($uri, &$fetcher, $extra_ns_map=null, $timeout=20)

Ausführliche Beschreibung

Definiert in Zeile 242 der Datei Yadis.php.


Dokumentation der Elementfunktionen

_getContentType ( content_type_header  ) 

private

Definiert in Zeile 288 der Datei Yadis.php.

00289     {
00290         if ($content_type_header) {
00291             $parts = explode(";", $content_type_header);
00292             return strtolower($parts[0]);
00293         }
00294     }

_getHeader ( header_list,
names 
)

private

Definiert in Zeile 272 der Datei Yadis.php.

00273     {
00274         foreach ($header_list as $name => $value) {
00275             foreach ($names as $n) {
00276                 if (strtolower($name) == strtolower($n)) {
00277                     return $value;
00278                 }
00279             }
00280         }
00281 
00282         return null;
00283     }

curlPresent (  ) 

Definiert in Zeile 264 der Datei Yadis.php.

00265     {
00266         return function_exists('curl_init');
00267     }

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.

Parameter:
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.
Rückgabe:
mixed $obj Either null or an instance of Auth_Yadis_Yadis, depending on whether the discovery succeeded.

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     }


Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei:
Copyright © 2003 - 2009 MyOOS [Shopsystem]. All rights reserved.
MyOOS [Shopsystem] is Free Software released under the GNU/GPL License.

Webmaster: info@r23.de (Impressum)
doxygen