protected function getResponse($content, $info)
	{
		// Create the response object.
		$return = new Response;

		// Try to get header size
		if (isset($info['header_size']))
		{
			$headerString = trim(substr($content, 0, $info['header_size']));
			$headerArray  = explode("\r\n\r\n", $headerString);

			// Get the last set of response headers as an array.
			$headers = explode("\r\n", array_pop($headerArray));

			// Set the body for the response.
			$return->body = substr($content, $info['header_size']);
		}
		// Fallback and try to guess header count by redirect count
		else
		{
			// Get the number of redirects that occurred.
			$redirects = isset($info['redirect_count']) ? $info['redirect_count'] : 0;

			/*
			 * Split the response into headers and body. If cURL encountered redirects, the headers for the redirected requests will
			 * also be included. So we split the response into header + body + the number of redirects and only use the last two
			 * sections which should be the last set of headers and the actual body.
			 */
			$response = explode("\r\n\r\n", $content, 2 + $redirects);

			// Set the body for the response.
			$return->body = array_pop($response);

			// Get the last set of response headers as an array.
			$headers = explode("\r\n", array_pop($response));
		}

		// Get the response code from the first offset of the response headers.
		preg_match('/[0-9]{3}/', array_shift($headers), $matches);

		$code = \count($matches) ? $matches[0] : null;

		if (is_numeric($code))
		{
			$return->code = (int) $code;
		}

		// No valid response code was detected.
		else
		{
			throw new InvalidResponseCodeException('No HTTP response code found.');
		}

		// Add the response headers to the response object.
		foreach ($headers as $header)
		{
			$pos                                             = strpos($header, ':');
			$return->headers[trim(substr($header, 0, $pos))] = trim(substr($header, ($pos + 1)));
		}

		return $return;
	}
protected function getResponse($content, $info)
	{
		// Create the response object.
		$return = new Response;

		// Try to get header size
		if (isset($info['header_size']))
		{
			$headerString = trim(substr($content, 0, $info['header_size']));
			$headerArray  = explode("\r\n\r\n", $headerString);

			// Get the last set of response headers as an array.
			$headers = explode("\r\n", array_pop($headerArray));

			// Set the body for the response.
			$return->body = substr($content, $info['header_size']);
		}
		// Fallback and try to guess header count by redirect count
		else
		{
			// Get the number of redirects that occurred.
			$redirects = isset($info['redirect_count']) ? $info['redirect_count'] : 0;

			/*
			 * Split the response into headers and body. If cURL encountered redirects, the headers for the redirected requests will
			 * also be included. So we split the response into header + body + the number of redirects and only use the last two
			 * sections which should be the last set of headers and the actual body.
			 */
			$response = explode("\r\n\r\n", $content, 2 + $redirects);

			// Set the body for the response.
			$return->body = array_pop($response);

			// Get the last set of response headers as an array.
			$headers = explode("\r\n", array_pop($response));
		}

		// Get the response code from the first offset of the response headers.
		preg_match('/[0-9]{3}/', array_shift($headers), $matches);

		$code = \count($matches) ? $matches[0] : null;

		if (is_numeric($code))
		{
			$return->code = (int) $code;
		}

		// No valid response code was detected.
		else
		{
			throw new InvalidResponseCodeException('No HTTP response code found.');
		}

		// Add the response headers to the response object.
		foreach ($headers as $header)
		{
			$pos                                             = strpos($header, ':');
			$return->headers[trim(substr($header, 0, $pos))] = trim(substr($header, ($pos + 1)));
		}

		return $return;
	}
protected function getResponse ( $ content , $ info ) { // Create the response object. $ return = new Response ; // Try to get header size if ( isset ( $ info [ 'header_size' ] ) ) { $ headerString = trim ( substr ( $ content , 0 , $ info [ 'header_size' ] ) ) ; $ headerArray = explode ( "\r\n\r\n" , $ headerString ) ; // Get the last set of response headers as an array. $ headers = explode ( "\r\n" , array_pop ( $ headerArray ) ) ; // Set the body for the response. $ return -> body = substr ( $ content , $ info [ 'header_size' ] ) ; } // Fallback and try to guess header count by redirect count else { // Get the number of redirects that occurred. $ redirects = isset ( $ info [ 'redirect_count' ] ) ? $ info [ 'redirect_count' ] : 0 ; /*
			 * Split the response into headers and body. If cURL encountered redirects, the headers for the redirected requests will
			 * also be included. So we split the response into header + body + the number of redirects and only use the last two
			 * sections which should be the last set of headers and the actual body.
			 */ $ response = explode ( "\r\n\r\n" , $ content , 2 + $ redirects ) ; // Set the body for the response. $ return -> body = array_pop ( $ response ) ; // Get the last set of response headers as an array. $ headers = explode ( "\r\n" , array_pop ( $ response ) ) ; } // Get the response code from the first offset of the response headers. preg_match ( '/[0-9]{3}/' , array_shift ( $ headers ) , $ matches ) ; $ code = \ count ( $ matches ) ? $ matches [ 0 ] : null ; if ( is_numeric ( $ code ) ) { $ return -> code = ( int ) $ code ; } // No valid response code was detected. else { throw new InvalidResponseCodeException ( 'No HTTP response code found.' ) ; } // Add the response headers to the response object. foreach ( $ headers as $ header ) { $ pos = strpos ( $ header , ':' ) ; $ return -> headers [ trim ( substr ( $ header , 0 , $ pos ) ) ] = trim ( substr ( $ header , ( $ pos + 1 ) ) ) ; } return $ return ; }
Method to get a response object from a server response.

@param   string  $content  The complete server response, including headers
as a string if the response has no errors.
@param   array   $info     The cURL request information.

@return  Response

@since   1.0
@throws  InvalidResponseCodeException
Method to get a response object from a server response .