AutorÃa | Ultima modificación | Ver Log |
<?phpnamespace Aws\S3;use Aws\Api\Parser\AbstractParser;use Aws\Api\StructureShape;use Aws\Api\Parser\Exception\ParserException;use Aws\CommandInterface;use Aws\Exception\AwsException;use Psr\Http\Message\ResponseInterface;use Psr\Http\Message\StreamInterface;/*** Converts malformed responses to a retryable error type.** @internal*/class RetryableMalformedResponseParser extends AbstractParser{/** @var string */private $exceptionClass;public function __construct(callable $parser,$exceptionClass = AwsException::class) {$this->parser = $parser;$this->exceptionClass = $exceptionClass;}public function __invoke(CommandInterface $command,ResponseInterface $response) {$fn = $this->parser;try {return $fn($command, $response);} catch (ParserException $e) {throw new $this->exceptionClass("Error parsing response for {$command->getName()}:". " AWS parsing error: {$e->getMessage()}",$command,['connection_error' => true, 'exception' => $e],$e);}}public function parseMemberFromStream(StreamInterface $stream,StructureShape $member,$response) {return $this->parser->parseMemberFromStream($stream, $member, $response);}}