original_string: protected function _setSslContext($host)
      {
          foreach ($this->_config as $key => $value) {
              if (substr($key, 0, 4) !== 'ssl_') {
                  continue;
              }
              $contextKey = substr($key, 4);
              if (empty($this->_config['context']['ssl'][$contextKey])) {
                  $this->_config['context']['ssl'][$contextKey] = $value;
              }
              unset($this->_config[$key]);
          }
          if (!isset($this->_config['context']['ssl']['SNI_enabled'])) {
              $this->_config['context']['ssl']['SNI_enabled'] = true;
          }
          if (empty($this->_config['context']['ssl']['peer_name'])) {
              $this->_config['context']['ssl']['peer_name'] = $host;
          }
          if (empty($this->_config['context']['ssl']['cafile'])) {
              $dir = dirname(dirname(__DIR__));
              $this->_config['context']['ssl']['cafile'] = $dir . DIRECTORY_SEPARATOR .
                  'config' . DIRECTORY_SEPARATOR . 'cacert.pem';
          }
          if (!empty($this->_config['context']['ssl']['verify_host'])) {
              $this->_config['context']['ssl']['CN_match'] = $host;
          }
          unset($this->_config['context']['ssl']['verify_host']);
      }
code: protected function _setSslContext($host)
      {
          foreach ($this->_config as $key => $value) {
              if (substr($key, 0, 4) !== 'ssl_') {
                  continue;
              }
              $contextKey = substr($key, 4);
              if (empty($this->_config['context']['ssl'][$contextKey])) {
                  $this->_config['context']['ssl'][$contextKey] = $value;
              }
              unset($this->_config[$key]);
          }
          if (!isset($this->_config['context']['ssl']['SNI_enabled'])) {
              $this->_config['context']['ssl']['SNI_enabled'] = true;
          }
          if (empty($this->_config['context']['ssl']['peer_name'])) {
              $this->_config['context']['ssl']['peer_name'] = $host;
          }
          if (empty($this->_config['context']['ssl']['cafile'])) {
              $dir = dirname(dirname(__DIR__));
              $this->_config['context']['ssl']['cafile'] = $dir . DIRECTORY_SEPARATOR .
                  'config' . DIRECTORY_SEPARATOR . 'cacert.pem';
          }
          if (!empty($this->_config['context']['ssl']['verify_host'])) {
              $this->_config['context']['ssl']['CN_match'] = $host;
          }
          unset($this->_config['context']['ssl']['verify_host']);
      }
code_tokens: protected function _setSslContext ( $ host ) { foreach ( $ this -> _config as $ key => $ value ) { if ( substr ( $ key , 0 , 4 ) !== 'ssl_' ) { continue ; } $ contextKey = substr ( $ key , 4 ) ; if ( empty ( $ this -> _config [ 'context' ] [ 'ssl' ] [ $ contextKey ] ) ) { $ this -> _config [ 'context' ] [ 'ssl' ] [ $ contextKey ] = $ value ; } unset ( $ this -> _config [ $ key ] ) ; } if ( ! isset ( $ this -> _config [ 'context' ] [ 'ssl' ] [ 'SNI_enabled' ] ) ) { $ this -> _config [ 'context' ] [ 'ssl' ] [ 'SNI_enabled' ] = true ; } if ( empty ( $ this -> _config [ 'context' ] [ 'ssl' ] [ 'peer_name' ] ) ) { $ this -> _config [ 'context' ] [ 'ssl' ] [ 'peer_name' ] = $ host ; } if ( empty ( $ this -> _config [ 'context' ] [ 'ssl' ] [ 'cafile' ] ) ) { $ dir = dirname ( dirname ( __DIR__ ) ) ; $ this -> _config [ 'context' ] [ 'ssl' ] [ 'cafile' ] = $ dir . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'cacert.pem' ; } if ( ! empty ( $ this -> _config [ 'context' ] [ 'ssl' ] [ 'verify_host' ] ) ) { $ this -> _config [ 'context' ] [ 'ssl' ] [ 'CN_match' ] = $ host ; } unset ( $ this -> _config [ 'context' ] [ 'ssl' ] [ 'verify_host' ] ) ; }
docstring: Configure the SSL context options.
  
  @param string $host The host name being connected to.
  @return void
docstring_tokens: Configure the SSL context options .