Вход Регистрация
Файл: library/XenForo/Helper/Http.php
Строк: 50
<?php

class XenForo_Helper_Http
{
    
/**
     * Gets a Zend_Http_Client object, automatically switching to cURL if the
     * specified URL can't be handled by streams.
     *
     * @param string $uri
     * @param array $options
     *
     * @return Zend_Http_Client
     */
    
public static function getClient($uri, array $options = array())
    {
        if (!isset(
$options['adapter']))
        {
            
$options += self::getExtraHttpClientOptions($uri);
        }

        return new 
Zend_Http_Client($uri$options);
    }

    
/**
     * Gets extra options to pass to an HTTP client to ensure it works in more situations
     *
     * @param string $uri
     *
     * @return array
     */
    
public static function getExtraHttpClientOptions($uri)
    {
        
$parts parse_url($uri);
        
$wrappers stream_get_wrappers();
        if (!
in_array($parts['scheme'], $wrappers))
        {
            
// can't be handled by sockets -- fallback to cURL
            
if (function_exists('curl_getinfo'))
            {
                return array(
                    
'adapter' => 'Zend_Http_Client_Adapter_Curl',
                    
'curloptions' => array(CURLOPT_SSL_VERIFYPEER => false)
                );
                
// TODO: consider validating SSL cert
            
}
        }

        return array();
    }
}
Онлайн: 0
Реклама