update 1.0.8.0
Commits for version update
This commit is contained in:
9
vendor/aws/aws-sdk-php/src/Sqs/Exception/SqsException.php
vendored
Normal file
9
vendor/aws/aws-sdk-php/src/Sqs/Exception/SqsException.php
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
<?php
|
||||
namespace Aws\Sqs\Exception;
|
||||
|
||||
use Aws\Exception\AwsException;
|
||||
|
||||
/**
|
||||
* Represents an error interacting with the Amazon Simple Queue Service.
|
||||
*/
|
||||
class SqsException extends AwsException {}
|
||||
141
vendor/aws/aws-sdk-php/src/Sqs/SqsClient.php
vendored
Normal file
141
vendor/aws/aws-sdk-php/src/Sqs/SqsClient.php
vendored
Normal file
@@ -0,0 +1,141 @@
|
||||
<?php
|
||||
namespace Aws\Sqs;
|
||||
|
||||
use Aws\AwsClient;
|
||||
use Aws\CommandInterface;
|
||||
use Aws\Sqs\Exception\SqsException;
|
||||
use GuzzleHttp\Psr7\Uri;
|
||||
use Psr\Http\Message\RequestInterface;
|
||||
|
||||
/**
|
||||
* Client used to interact Amazon Simple Queue Service (Amazon SQS)
|
||||
*
|
||||
* @method \Aws\Result addPermission(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise addPermissionAsync(array $args = [])
|
||||
* @method \Aws\Result changeMessageVisibility(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise changeMessageVisibilityAsync(array $args = [])
|
||||
* @method \Aws\Result changeMessageVisibilityBatch(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise changeMessageVisibilityBatchAsync(array $args = [])
|
||||
* @method \Aws\Result createQueue(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise createQueueAsync(array $args = [])
|
||||
* @method \Aws\Result deleteMessage(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise deleteMessageAsync(array $args = [])
|
||||
* @method \Aws\Result deleteMessageBatch(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise deleteMessageBatchAsync(array $args = [])
|
||||
* @method \Aws\Result deleteQueue(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise deleteQueueAsync(array $args = [])
|
||||
* @method \Aws\Result getQueueAttributes(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise getQueueAttributesAsync(array $args = [])
|
||||
* @method \Aws\Result getQueueUrl(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise getQueueUrlAsync(array $args = [])
|
||||
* @method \Aws\Result listDeadLetterSourceQueues(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise listDeadLetterSourceQueuesAsync(array $args = [])
|
||||
* @method \Aws\Result listQueues(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise listQueuesAsync(array $args = [])
|
||||
* @method \Aws\Result purgeQueue(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise purgeQueueAsync(array $args = [])
|
||||
* @method \Aws\Result receiveMessage(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise receiveMessageAsync(array $args = [])
|
||||
* @method \Aws\Result removePermission(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise removePermissionAsync(array $args = [])
|
||||
* @method \Aws\Result sendMessage(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise sendMessageAsync(array $args = [])
|
||||
* @method \Aws\Result sendMessageBatch(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise sendMessageBatchAsync(array $args = [])
|
||||
* @method \Aws\Result setQueueAttributes(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise setQueueAttributesAsync(array $args = [])
|
||||
*/
|
||||
class SqsClient extends AwsClient
|
||||
{
|
||||
public function __construct(array $config)
|
||||
{
|
||||
parent::__construct($config);
|
||||
$list = $this->getHandlerList();
|
||||
$list->appendBuild($this->queueUrl(), 'sqs.queue_url');
|
||||
$list->appendSign($this->validateMd5(), 'sqs.md5');
|
||||
}
|
||||
|
||||
/**
|
||||
* Converts a queue URL into a queue ARN.
|
||||
*
|
||||
* @param string $queueUrl The queue URL to perform the action on.
|
||||
* Retrieved when the queue is first created.
|
||||
*
|
||||
* @return string An ARN representation of the queue URL.
|
||||
*/
|
||||
public function getQueueArn($queueUrl)
|
||||
{
|
||||
return strtr($queueUrl, array(
|
||||
'http://' => 'arn:aws:',
|
||||
'https://' => 'arn:aws:',
|
||||
'.amazonaws.com' => '',
|
||||
'/' => ':',
|
||||
'.' => ':',
|
||||
));
|
||||
}
|
||||
|
||||
/**
|
||||
* Moves the URI of the queue to the URI in the input parameter.
|
||||
*
|
||||
* @return callable
|
||||
*/
|
||||
private function queueUrl()
|
||||
{
|
||||
return static function (callable $handler) {
|
||||
return function (
|
||||
CommandInterface $c,
|
||||
RequestInterface $r = null
|
||||
) use ($handler) {
|
||||
if ($c->hasParam('QueueUrl')) {
|
||||
$uri = Uri::resolve($r->getUri(), $c['QueueUrl']);
|
||||
$r = $r->withUri($uri);
|
||||
}
|
||||
return $handler($c, $r);
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Validates ReceiveMessage body MD5s
|
||||
*
|
||||
* @return callable
|
||||
*/
|
||||
private function validateMd5()
|
||||
{
|
||||
return static function (callable $handler) {
|
||||
return function (
|
||||
CommandInterface $c,
|
||||
RequestInterface $r = null
|
||||
) use ($handler) {
|
||||
if ($c->getName() !== 'ReceiveMessage') {
|
||||
return $handler($c, $r);
|
||||
}
|
||||
|
||||
return $handler($c, $r)
|
||||
->then(
|
||||
function ($result) use ($c, $r) {
|
||||
foreach ((array) $result['Messages'] as $msg) {
|
||||
if (isset($msg['MD5OfBody'])
|
||||
&& md5($msg['Body']) !== $msg['MD5OfBody']
|
||||
) {
|
||||
throw new SqsException(
|
||||
sprintf(
|
||||
'MD5 mismatch. Expected %s, found %s',
|
||||
$msg['MD5OfBody'],
|
||||
md5($msg['Body'])
|
||||
),
|
||||
$c,
|
||||
[
|
||||
'code' => 'ClientChecksumMismatch',
|
||||
'request' => $r
|
||||
]
|
||||
);
|
||||
}
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
);
|
||||
};
|
||||
};
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user