Вход Регистрация
Файл: sngine-v2.8/Script/includes/libs/AWS/Aws/S3/RetryableMalformedResponseParser.php
Строк: 58
<?php
namespace AwsS3;

use 
AwsApiParserAbstractParser;
use 
AwsApiStructureShape;
use 
AwsApiParserExceptionParserException;
use 
AwsCommandInterface;
use 
AwsExceptionAwsException;
use 
PsrHttpMessageResponseInterface;
use 
PsrHttpMessageStreamInterface;

/**
 * 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);
    }
}
Онлайн: 0
Реклама