original_string: public function createResponse()
      {
          if (empty($this->headers)) {
              throw new \RuntimeException('No headers have been received');
          }
  
          // HTTP-version SP status-code SP reason-phrase
          $startLine = explode(' ', array_shift($this->headers), 3);
          $headers = \GuzzleHttp\headers_from_lines($this->headers);
          $normalizedKeys = \GuzzleHttp\normalize_header_keys($headers);
  
          if (!empty($this->options['decode_content'])
              && isset($normalizedKeys['content-encoding'])
          ) {
              $headers['x-encoded-content-encoding']
                  = $headers[$normalizedKeys['content-encoding']];
              unset($headers[$normalizedKeys['content-encoding']]);
              if (isset($normalizedKeys['content-length'])) {
                  $headers['x-encoded-content-length']
                      = $headers[$normalizedKeys['content-length']];
  
                  $bodyLength = (int) $this->sink->getSize();
                  if ($bodyLength) {
                      $headers[$normalizedKeys['content-length']] = $bodyLength;
                  } else {
                      unset($headers[$normalizedKeys['content-length']]);
                  }
              }
          }
  
          // Attach a response to the easy handle with the parsed headers.
          $this->response = new Response(
              $startLine[1],
              $headers,
              $this->sink,
              substr($startLine[0], 5),
              isset($startLine[2]) ? (string) $startLine[2] : null
          );
      }
code: public function createResponse()
      {
          if (empty($this->headers)) {
              throw new \RuntimeException('No headers have been received');
          }
  
          // HTTP-version SP status-code SP reason-phrase
          $startLine = explode(' ', array_shift($this->headers), 3);
          $headers = \GuzzleHttp\headers_from_lines($this->headers);
          $normalizedKeys = \GuzzleHttp\normalize_header_keys($headers);
  
          if (!empty($this->options['decode_content'])
              && isset($normalizedKeys['content-encoding'])
          ) {
              $headers['x-encoded-content-encoding']
                  = $headers[$normalizedKeys['content-encoding']];
              unset($headers[$normalizedKeys['content-encoding']]);
              if (isset($normalizedKeys['content-length'])) {
                  $headers['x-encoded-content-length']
                      = $headers[$normalizedKeys['content-length']];
  
                  $bodyLength = (int) $this->sink->getSize();
                  if ($bodyLength) {
                      $headers[$normalizedKeys['content-length']] = $bodyLength;
                  } else {
                      unset($headers[$normalizedKeys['content-length']]);
                  }
              }
          }
  
          // Attach a response to the easy handle with the parsed headers.
          $this->response = new Response(
              $startLine[1],
              $headers,
              $this->sink,
              substr($startLine[0], 5),
              isset($startLine[2]) ? (string) $startLine[2] : null
          );
      }
code_tokens: public function createResponse ( ) { if ( empty ( $ this -> headers ) ) { throw new \ RuntimeException ( 'No headers have been received' ) ; } // HTTP-version SP status-code SP reason-phrase $ startLine = explode ( ' ' , array_shift ( $ this -> headers ) , 3 ) ; $ headers = \ GuzzleHttp \ headers_from_lines ( $ this -> headers ) ; $ normalizedKeys = \ GuzzleHttp \ normalize_header_keys ( $ headers ) ; if ( ! empty ( $ this -> options [ 'decode_content' ] ) && isset ( $ normalizedKeys [ 'content-encoding' ] ) ) { $ headers [ 'x-encoded-content-encoding' ] = $ headers [ $ normalizedKeys [ 'content-encoding' ] ] ; unset ( $ headers [ $ normalizedKeys [ 'content-encoding' ] ] ) ; if ( isset ( $ normalizedKeys [ 'content-length' ] ) ) { $ headers [ 'x-encoded-content-length' ] = $ headers [ $ normalizedKeys [ 'content-length' ] ] ; $ bodyLength = ( int ) $ this -> sink -> getSize ( ) ; if ( $ bodyLength ) { $ headers [ $ normalizedKeys [ 'content-length' ] ] = $ bodyLength ; } else { unset ( $ headers [ $ normalizedKeys [ 'content-length' ] ] ) ; } } } // Attach a response to the easy handle with the parsed headers. $ this -> response = new Response ( $ startLine [ 1 ] , $ headers , $ this -> sink , substr ( $ startLine [ 0 ] , 5 ) , isset ( $ startLine [ 2 ] ) ? ( string ) $ startLine [ 2 ] : null ) ; }
docstring: Attach a response to the easy handle based on the received headers.
  
  @throws \RuntimeException if no headers have been received.
docstring_tokens: Attach a response to the easy handle based on the received headers .