PATH:
home
/
lab2454c
/
keebchat.com
/
core
/
libs
/
s3
/
vendor
/
aws
/
aws-sdk-php
/
src
/
Api
/
Parser
<?php namespace Aws\Api\Parser; use Aws\Api\StructureShape; use Aws\CommandInterface; use Aws\Exception\AwsException; use Psr\Http\Message\ResponseInterface; use Psr\Http\Message\StreamInterface; use GuzzleHttp\Psr7; /** * @internal Decorates a parser and validates the x-amz-crc32 header. */ class Crc32ValidatingParser extends AbstractParser { /** * @param callable $parser Parser to wrap. */ public function __construct(callable $parser) { $this->parser = $parser; } public function __invoke( CommandInterface $command, ResponseInterface $response ) { if ($expected = $response->getHeaderLine('x-amz-crc32')) { $hash = hexdec(Psr7\hash($response->getBody(), 'crc32b')); if ($expected != $hash) { throw new AwsException( "crc32 mismatch. Expected {$expected}, found {$hash}.", $command, [ 'code' => 'ClientChecksumMismatch', 'connection_error' => true, 'response' => $response ] ); } } $fn = $this->parser; return $fn($command, $response); } public function parseMemberFromStream( StreamInterface $stream, StructureShape $member, $response ) { return $this->parser->parseMemberFromStream($stream, $member, $response); } }
[+]
..
[+]
Exception
[-] QueryParser.php
[edit]
[-] AbstractRestParser.php
[edit]
[-] AbstractParser.php
[edit]
[-] Crc32ValidatingParser.php
[edit]
[-] EventParsingIterator.php
[edit]
[-] PayloadParserTrait.php
[edit]
[-] JsonParser.php
[edit]
[-] XmlParser.php
[edit]
[-] DecodingEventStreamIterator.php
[edit]
[-] RestXmlParser.php
[edit]
[-] MetadataParserTrait.php
[edit]
[-] JsonRpcParser.php
[edit]
[-] RestJsonParser.php
[edit]