parser = $xmlParser ?: new \DeliciousBrains\WP_Offload_Media\Aws3\Aws\Api\Parser\XmlParser(); $this->honorResultWrapper = $honorResultWrapper; } public function __invoke(\DeliciousBrains\WP_Offload_Media\Aws3\Aws\CommandInterface $command, \DeliciousBrains\WP_Offload_Media\Aws3\Psr\Http\Message\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 \DeliciousBrains\WP_Offload_Media\Aws3\Aws\Result($this->parser->parse($output, $xml)); } public function parseMemberFromStream(\DeliciousBrains\WP_Offload_Media\Aws3\Psr\Http\Message\StreamInterface $stream, \DeliciousBrains\WP_Offload_Media\Aws3\Aws\Api\StructureShape $member, $response) { $xml = $this->parseXml($stream, $response); return $this->parser->parse($member, $xml); } }