original_string: private function parse($response)
      {
          // Explode the response into headers and body parts (separated by double EOL)
          list($headers, $response) = explode("\r\n\r\n", $response, 2);
          
          // Explode response headers
          $lines = explode("\r\n", $headers);
          
          // If the status code is 100, the API server must send a final response
          // We need to explode the response again to get the actual response
          if (preg_match('#^HTTP/1.1 100#', $lines[0])) {
              list($headers, $response) = explode("\r\n\r\n", $response, 2);
              $lines = explode("\r\n", $headers);
          }
          
          // Get the HTTP response code from the first line
          $first = array_shift($lines);
          $pattern = '#^HTTP/1.1 ([0-9]{3})#';
          preg_match($pattern, $first, $matches);
          $code = $matches[1];
          
          // Parse the remaining headers into an associative array
          $headers = array();
          foreach ($lines as $line) {
              list($k, $v) = explode(': ', $line, 2);
              $headers[strtolower($k)] = $v;
          }
          
          // If the response body is not a JSON encoded string
          // we'll return the entire response body
          if (!$body = json_decode($response)) {
              $body = $response;
          }
          
          return array('code' => $code, 'body' => $body, 'headers' => $headers);
      }
code: private function parse($response)
      {
          // Explode the response into headers and body parts (separated by double EOL)
          list($headers, $response) = explode("\r\n\r\n", $response, 2);
          
          // Explode response headers
          $lines = explode("\r\n", $headers);
          
          // If the status code is 100, the API server must send a final response
          // We need to explode the response again to get the actual response
          if (preg_match('#^HTTP/1.1 100#', $lines[0])) {
              list($headers, $response) = explode("\r\n\r\n", $response, 2);
              $lines = explode("\r\n", $headers);
          }
          
          // Get the HTTP response code from the first line
          $first = array_shift($lines);
          $pattern = '#^HTTP/1.1 ([0-9]{3})#';
          preg_match($pattern, $first, $matches);
          $code = $matches[1];
          
          // Parse the remaining headers into an associative array
          $headers = array();
          foreach ($lines as $line) {
              list($k, $v) = explode(': ', $line, 2);
              $headers[strtolower($k)] = $v;
          }
          
          // If the response body is not a JSON encoded string
          // we'll return the entire response body
          if (!$body = json_decode($response)) {
              $body = $response;
          }
          
          return array('code' => $code, 'body' => $body, 'headers' => $headers);
      }
code_tokens: private function parse ( $ response ) { // Explode the response into headers and body parts (separated by double EOL) list ( $ headers , $ response ) = explode ( "\r\n\r\n" , $ response , 2 ) ; // Explode response headers $ lines = explode ( "\r\n" , $ headers ) ; // If the status code is 100, the API server must send a final response // We need to explode the response again to get the actual response if ( preg_match ( '#^HTTP/1.1 100#' , $ lines [ 0 ] ) ) { list ( $ headers , $ response ) = explode ( "\r\n\r\n" , $ response , 2 ) ; $ lines = explode ( "\r\n" , $ headers ) ; } // Get the HTTP response code from the first line $ first = array_shift ( $ lines ) ; $ pattern = '#^HTTP/1.1 ([0-9]{3})#' ; preg_match ( $ pattern , $ first , $ matches ) ; $ code = $ matches [ 1 ] ; // Parse the remaining headers into an associative array $ headers = array ( ) ; foreach ( $ lines as $ line ) { list ( $ k , $ v ) = explode ( ': ' , $ line , 2 ) ; $ headers [ strtolower ( $ k ) ] = $ v ; } // If the response body is not a JSON encoded string // we'll return the entire response body if ( ! $ body = json_decode ( $ response ) ) { $ body = $ response ; } return array ( 'code' => $ code , 'body' => $ body , 'headers' => $ headers ) ; }
docstring: Parse a cURL response
  @param string $response
  @return array
docstring_tokens: Parse a cURL response