Files
kulakpos_web/vendor/aws/aws-sdk-php/src/Api/Parser/RestXmlParser.php

48 lines
1.2 KiB
PHP
Raw Normal View History

2026-03-30 14:54:57 +07:00
<?php
namespace Aws\Api\Parser;
use Aws\Api\StructureShape;
use Aws\Api\Service;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\StreamInterface;
/**
* @internal Implements REST-XML parsing (e.g., S3, CloudFront, etc...)
*/
class RestXmlParser extends AbstractRestParser
{
use PayloadParserTrait;
/**
* @param Service $api Service description
* @param XmlParser $parser XML body parser
*/
public function __construct(Service $api, ?XmlParser $parser = null)
{
parent::__construct($api);
$this->parser = $parser ?: new XmlParser();
}
protected function payload(
ResponseInterface $response,
StructureShape $member,
array &$result
) {
2026-04-18 20:32:18 +07:00
$body = $response->getBody();
if ($body->isSeekable()) {
$body->rewind();
}
$result += $this->parseMemberFromStream($body, $member, $response);
2026-03-30 14:54:57 +07:00
}
public function parseMemberFromStream(
StreamInterface $stream,
StructureShape $member,
$response
) {
$xml = $this->parseXml($stream, $response);
return $this->parser->parse($member, $xml);
}
}