PluginProbe
Media Cloud Sync / 1.0.2
Media Cloud Sync v1.0.2
1.4.1 1.4.0 1.3.12 1.3.11 1.3.10 trunk 1.0.0 1.0.1 1.0.2 1.0.3 1.1.0 1.1.1 1.2.0 1.2.10 1.2.11 1.2.12 1.2.13 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 1.2.7 1.2.8 1.2.9 All 35 releases
media-cloud-sync / includes / sdk / s3 / Aws / S3 / RetryableMalformedResponseParser.php

RetryableMalformedResponseParser.php in Media Cloud Sync 1.0.2, at includes/sdk/s3/Aws/S3/RetryableMalformedResponseParser.php

40 lines 1.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace Dudlewebs\WPMCS\s3\Aws\S3;
4
5 use Dudlewebs\WPMCS\s3\Aws\Api\Parser\AbstractParser;
6 use Dudlewebs\WPMCS\s3\Aws\Api\StructureShape;
7 use Dudlewebs\WPMCS\s3\Aws\Api\Parser\Exception\ParserException;
8 use Dudlewebs\WPMCS\s3\Aws\CommandInterface;
9 use Dudlewebs\WPMCS\s3\Aws\Exception\AwsException;
10 use Dudlewebs\WPMCS\s3\Psr\Http\Message\ResponseInterface;
11 use Dudlewebs\WPMCS\s3\Psr\Http\Message\StreamInterface;
12 /**
13 * Converts malformed responses to a retryable error type.
14 *
15 * @internal
16 */
17 class RetryableMalformedResponseParser extends AbstractParser
18 {
19 /** @var string */
20 private $exceptionClass;
21 public function __construct(callable $parser, $exceptionClass = AwsException::class)
22 {
23 $this->parser = $parser;
24 $this->exceptionClass = $exceptionClass;
25 }
26 public function __invoke(CommandInterface $command, ResponseInterface $response)
27 {
28 $fn = $this->parser;
29 try {
30 return $fn($command, $response);
31 } catch (ParserException $e) {
32 throw new $this->exceptionClass("Error parsing response for {$command->getName()}:" . " AWS parsing error: {$e->getMessage()}", $command, ['connection_error' => \true, 'exception' => $e], $e);
33 }
34 }
35 public function parseMemberFromStream(StreamInterface $stream, StructureShape $member, $response)
36 {
37 return $this->parser->parseMemberFromStream($stream, $member, $response);
38 }
39 }
40