/**
  * Constructor.
  *
  * @param string               $sid      Account SID
  * @param string               $token    Account auth token
  * @param string               $version  API version
  * @param Services_Twilio_Http $_http    A HTTP client
  * @param int                  $retryAttempts Number of times to retry failed requests
  */
 public function __construct($sid, $token, $version = null, Services_Twilio_TinyHttp $_http = null, $retryAttempts = 1)
 {
     $this->version = in_array($version, $this->versions) ? $version : end($this->versions);
     if (null === $_http) {
         if (in_array('curl', get_loaded_extensions())) {
             $_http = new Services_Twilio_TinyHttp("https://api.twilio.com", array("curlopts" => array(CURLOPT_USERAGENT => self::USER_AGENT, CURLOPT_HTTPHEADER => array('Accept-Charset: utf-8'), CURLOPT_CAINFO => dirname(__FILE__) . '/cacert.pem')));
         } else {
             $_http = new Services_Twilio_HttpStream("https://api.twilio.com", array("http_options" => array("http" => array("user_agent" => self::USER_AGENT, "header" => "Accept-Charset: utf-8\r\n"), "ssl" => array('verify_peer' => true, 'cafile' => dirname(__FILE__) . '/cacert.pem', 'verify_depth' => 5))));
         }
     }
     $_http->authenticate($sid, $token);
     $this->http = $_http;
     $this->accounts = new Services_Twilio_Rest_Accounts($this, "/{$this->version}/Accounts");
     $this->account = $this->accounts->get($sid);
     $this->retryAttempts = $retryAttempts;
 }
 public function __construct($sid, $token, $version = null, Services_Twilio_TinyHttp $_http = null, $retryAttempts = 1)
 {
     $this->version = in_array($version, $this->versions) ? $version : end($this->versions);
     if (null === $_http) {
         if (!in_array('openssl', get_loaded_extensions())) {
             throw new Services_Twilio_HttpException("The OpenSSL extension is required but not currently enabled. For more information, see http://php.net/manual/en/book.openssl.php");
         }
         if (in_array('curl', get_loaded_extensions())) {
             $_http = new Services_Twilio_TinyHttp($this->_getBaseUri(), array("curlopts" => array(CURLOPT_USERAGENT => self::qualifiedUserAgent(phpversion()), CURLOPT_HTTPHEADER => array('Accept-Charset: utf-8'))));
         } else {
             $_http = new Services_Twilio_HttpStream($this->_getBaseUri(), array("http_options" => array("http" => array("user_agent" => self::qualifiedUserAgent(phpversion()), "header" => "Accept-Charset: utf-8\r\n"), "ssl" => array('verify_peer' => true, 'verify_depth' => 5))));
         }
     }
     $_http->authenticate($sid, $token);
     $this->http = $_http;
     $this->retryAttempts = $retryAttempts;
 }