| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 | 
							- <?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);
 
-     }
 
- }
 
 
  |