public static function getDefaultHandler()
    {
        $default = $future = null;

        if (extension_loaded('curl')) {
            $config = [
                'select_timeout' => getenv('GUZZLE_CURL_SELECT_TIMEOUT') ?: 1
            ];
            if ($maxHandles = getenv('GUZZLE_CURL_MAX_HANDLES')) {
                $config['max_handles'] = $maxHandles;
            }
            if (function_exists('curl_reset')) {
                $default = new CurlHandler();
                $future = new CurlMultiHandler($config);
            } else {
                $default = new CurlMultiHandler($config);
            }
        }

        if (ini_get('allow_url_fopen')) {
            $default = !$default
                ? new StreamHandler()
                : Middleware::wrapStreaming($default, new StreamHandler());
        } elseif (!$default) {
            throw new \RuntimeException('Guzzle requires cURL, the '
                . 'allow_url_fopen ini setting, or a custom HTTP handler.');
        }

        return $future ? Middleware::wrapFuture($default, $future) : $default;
    }
public static function getDefaultHandler()
    {
        $default = $future = null;

        if (extension_loaded('curl')) {
            $config = [
                'select_timeout' => getenv('GUZZLE_CURL_SELECT_TIMEOUT') ?: 1
            ];
            if ($maxHandles = getenv('GUZZLE_CURL_MAX_HANDLES')) {
                $config['max_handles'] = $maxHandles;
            }
            if (function_exists('curl_reset')) {
                $default = new CurlHandler();
                $future = new CurlMultiHandler($config);
            } else {
                $default = new CurlMultiHandler($config);
            }
        }

        if (ini_get('allow_url_fopen')) {
            $default = !$default
                ? new StreamHandler()
                : Middleware::wrapStreaming($default, new StreamHandler());
        } elseif (!$default) {
            throw new \RuntimeException('Guzzle requires cURL, the '
                . 'allow_url_fopen ini setting, or a custom HTTP handler.');
        }

        return $future ? Middleware::wrapFuture($default, $future) : $default;
    }
public static function getDefaultHandler ( ) { $ default = $ future = null ; if ( extension_loaded ( 'curl' ) ) { $ config = [ 'select_timeout' => getenv ( 'GUZZLE_CURL_SELECT_TIMEOUT' ) ? : 1 ] ; if ( $ maxHandles = getenv ( 'GUZZLE_CURL_MAX_HANDLES' ) ) { $ config [ 'max_handles' ] = $ maxHandles ; } if ( function_exists ( 'curl_reset' ) ) { $ default = new CurlHandler ( ) ; $ future = new CurlMultiHandler ( $ config ) ; } else { $ default = new CurlMultiHandler ( $ config ) ; } } if ( ini_get ( 'allow_url_fopen' ) ) { $ default = ! $ default ? new StreamHandler ( ) : Middleware :: wrapStreaming ( $ default , new StreamHandler ( ) ) ; } elseif ( ! $ default ) { throw new \ RuntimeException ( 'Guzzle requires cURL, the ' . 'allow_url_fopen ini setting, or a custom HTTP handler.' ) ; } return $ future ? Middleware :: wrapFuture ( $ default , $ future ) : $ default ; }
Create a default handler to use based on the environment

@throws \RuntimeException if no viable Handler is available.
Create a default handler to use based on the environment