AlkantarClanX12
Current Path : /home/thanudqk/128shen.com/wp-content/plugins/w3-total-cache/lib/Aws/Aws/Api/Parser/ |
Current File : /home/thanudqk/128shen.com/wp-content/plugins/w3-total-cache/lib/Aws/Aws/Api/Parser/QueryParser.php |
<?php namespace Aws\Api\Parser; use Aws\Api\Service; use Aws\Api\StructureShape; use Aws\Result; use Aws\CommandInterface; use Psr\Http\Message\ResponseInterface; use Psr\Http\Message\StreamInterface; /** * @internal Parses query (XML) responses (e.g., EC2, SQS, and many others) */ class QueryParser extends AbstractParser { use PayloadParserTrait; /** @var bool */ private $honorResultWrapper; /** * @param Service $api Service description * @param XmlParser $xmlParser Optional XML parser * @param bool $honorResultWrapper Set to false to disable the peeling * back of result wrappers from the * output structure. */ public function __construct( Service $api, XmlParser $xmlParser = null, $honorResultWrapper = true ) { parent::__construct($api); $this->parser = $xmlParser ?: new XmlParser(); $this->honorResultWrapper = $honorResultWrapper; } public function __invoke( CommandInterface $command, ResponseInterface $response ) { $output = $this->api->getOperation($command->getName())->getOutput(); $xml = $this->parseXml($response->getBody(), $response); if ($this->honorResultWrapper && $output['resultWrapper']) { $xml = $xml->{$output['resultWrapper']}; } return new Result($this->parser->parse($output, $xml)); } public function parseMemberFromStream( StreamInterface $stream, StructureShape $member, $response ) { $xml = $this->parseXml($stream, $response); return $this->parser->parse($member, $xml); } }