www.gusucode.com > CKFinder 文件管理器PHP版 v3.0源码程序 > code/core/connector/php/vendor/guzzle/guzzle/src/Guzzle/Service/Command/DefaultResponseParser.php
<?php namespace Guzzle\Service\Command; use Guzzle\Http\Message\Response; /** * Default HTTP response parser used to marshal JSON responses into arrays and XML responses into SimpleXMLElement */ class DefaultResponseParser implements ResponseParserInterface { /** @var self */ protected static $instance; /** * @return self * @codeCoverageIgnore */ public static function getInstance() { if (!self::$instance) { self::$instance = new self; } return self::$instance; } public function parse(CommandInterface $command) { $response = $command->getRequest()->getResponse(); // Account for hard coded content-type values specified in service descriptions if ($contentType = $command['command.expects']) { $response->setHeader('Content-Type', $contentType); } else { $contentType = (string) $response->getHeader('Content-Type'); } return $this->handleParsing($command, $response, $contentType); } protected function handleParsing(CommandInterface $command, Response $response, $contentType) { $result = $response; if ($result->getBody()) { if (stripos($contentType, 'json') !== false) { $result = $result->json(); } elseif (stripos($contentType, 'xml') !== false) { $result = $result->xml(); } } return $result; } }