summaryrefslogtreecommitdiff
path: root/vendor/aws/aws-sdk-php/src/S3/Exception
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2022-11-23 21:14:33 +0300
committerAndrew Dolgov <[email protected]>2022-11-23 21:14:33 +0300
commit0c8af4992cb0f7589dcafaad65ada12753c64594 (patch)
tree18e83d068c3e7dd2499331de977782b382279396 /vendor/aws/aws-sdk-php/src/S3/Exception
initial
Diffstat (limited to 'vendor/aws/aws-sdk-php/src/S3/Exception')
-rw-r--r--vendor/aws/aws-sdk-php/src/S3/Exception/DeleteMultipleObjectsException.php68
-rw-r--r--vendor/aws/aws-sdk-php/src/S3/Exception/PermanentRedirectException.php4
-rw-r--r--vendor/aws/aws-sdk-php/src/S3/Exception/S3Exception.php9
-rw-r--r--vendor/aws/aws-sdk-php/src/S3/Exception/S3MultipartUploadException.php84
4 files changed, 165 insertions, 0 deletions
diff --git a/vendor/aws/aws-sdk-php/src/S3/Exception/DeleteMultipleObjectsException.php b/vendor/aws/aws-sdk-php/src/S3/Exception/DeleteMultipleObjectsException.php
new file mode 100644
index 0000000..5b4c289
--- /dev/null
+++ b/vendor/aws/aws-sdk-php/src/S3/Exception/DeleteMultipleObjectsException.php
@@ -0,0 +1,68 @@
+<?php
+namespace Aws\S3\Exception;
+
+use Aws\HasMonitoringEventsTrait;
+use Aws\MonitoringEventsInterface;
+
+/**
+ * Exception thrown when errors occur while deleting objects using a
+ * {@see S3\BatchDelete} object.
+ */
+class DeleteMultipleObjectsException extends \Exception implements
+ MonitoringEventsInterface
+{
+ use HasMonitoringEventsTrait;
+
+ private $deleted = [];
+ private $errors = [];
+
+ /**
+ * @param array $deleted Array of successfully deleted keys
+ * @param array $errors Array of errors that were encountered
+ */
+ public function __construct(array $deleted, array $errors)
+ {
+ $this->deleted = array_values($deleted);
+ $this->errors = array_values($errors);
+ parent::__construct('Unable to delete certain keys when executing a'
+ . ' DeleteMultipleObjects request: '
+ . self::createMessageFromErrors($errors));
+ }
+
+ /**
+ * Create a single error message from multiple errors.
+ *
+ * @param array $errors Errors encountered
+ *
+ * @return string
+ */
+ public static function createMessageFromErrors(array $errors)
+ {
+ return "\n- " . implode("\n- ", array_map(function ($key) {
+ return json_encode($key);
+ }, $errors));
+ }
+
+ /**
+ * Get the errored objects
+ *
+ * @return array Returns an array of associative arrays, each containing
+ * a 'Code', 'Message', and 'Key' key.
+ */
+ public function getErrors()
+ {
+ return $this->errors;
+ }
+
+ /**
+ * Get the successfully deleted objects
+ *
+ * @return array Returns an array of associative arrays, each containing
+ * a 'Key' and optionally 'DeleteMarker' and
+ * 'DeleterMarkerVersionId'
+ */
+ public function getDeleted()
+ {
+ return $this->deleted;
+ }
+}
diff --git a/vendor/aws/aws-sdk-php/src/S3/Exception/PermanentRedirectException.php b/vendor/aws/aws-sdk-php/src/S3/Exception/PermanentRedirectException.php
new file mode 100644
index 0000000..67d916e
--- /dev/null
+++ b/vendor/aws/aws-sdk-php/src/S3/Exception/PermanentRedirectException.php
@@ -0,0 +1,4 @@
+<?php
+namespace Aws\S3\Exception;
+
+class PermanentRedirectException extends S3Exception {}
diff --git a/vendor/aws/aws-sdk-php/src/S3/Exception/S3Exception.php b/vendor/aws/aws-sdk-php/src/S3/Exception/S3Exception.php
new file mode 100644
index 0000000..7ee3caa
--- /dev/null
+++ b/vendor/aws/aws-sdk-php/src/S3/Exception/S3Exception.php
@@ -0,0 +1,9 @@
+<?php
+namespace Aws\S3\Exception;
+
+use Aws\Exception\AwsException;
+
+/**
+ * Represents an error interacting with the Amazon Simple Storage Service.
+ */
+class S3Exception extends AwsException {}
diff --git a/vendor/aws/aws-sdk-php/src/S3/Exception/S3MultipartUploadException.php b/vendor/aws/aws-sdk-php/src/S3/Exception/S3MultipartUploadException.php
new file mode 100644
index 0000000..957e472
--- /dev/null
+++ b/vendor/aws/aws-sdk-php/src/S3/Exception/S3MultipartUploadException.php
@@ -0,0 +1,84 @@
+<?php
+namespace Aws\S3\Exception;
+
+use Aws\CommandInterface;
+use Aws\Exception\AwsException;
+use Aws\Multipart\UploadState;
+
+class S3MultipartUploadException extends \Aws\Exception\MultipartUploadException
+{
+ /** @var string Bucket of the transfer object */
+ private $bucket;
+ /** @var string Key of the transfer object */
+ private $key;
+ /** @var string Source file name of the transfer object */
+ private $filename;
+
+ /**
+ * @param UploadState $state Upload state at time of the exception.
+ * @param \Exception|array $prev Exception being thrown. Could be an array of
+ * AwsExceptions being thrown when uploading parts
+ * for one object, or an instance of AwsException
+ * for a specific Multipart error being thrown in
+ * the MultipartUpload process.
+ */
+ public function __construct(UploadState $state, $prev = null) {
+ if (is_array($prev) && $error = $prev[key($prev)]) {
+ $this->collectPathInfo($error->getCommand());
+ } elseif ($prev instanceof AwsException) {
+ $this->collectPathInfo($prev->getCommand());
+ }
+ parent::__construct($state, $prev);
+ }
+
+ /**
+ * Get the Bucket information of the transfer object
+ *
+ * @return string|null Returns null when 'Bucket' information
+ * is unavailable.
+ */
+ public function getBucket()
+ {
+ return $this->bucket;
+ }
+
+ /**
+ * Get the Key information of the transfer object
+ *
+ * @return string|null Returns null when 'Key' information
+ * is unavailable.
+ */
+ public function getKey()
+ {
+ return $this->key;
+ }
+
+ /**
+ * Get the source file name of the transfer object
+ *
+ * @return string|null Returns null when metadata of the stream
+ * wrapped in 'Body' parameter is unavailable.
+ */
+ public function getSourceFileName()
+ {
+ return $this->filename;
+ }
+
+ /**
+ * Collect file path information when accessible. (Bucket, Key)
+ *
+ * @param CommandInterface $cmd
+ */
+ private function collectPathInfo(CommandInterface $cmd)
+ {
+ if (empty($this->bucket) && isset($cmd['Bucket'])) {
+ $this->bucket = $cmd['Bucket'];
+ }
+ if (empty($this->key) && isset($cmd['Key'])) {
+ $this->key = $cmd['Key'];
+ }
+ if (empty($this->filename) && isset($cmd['Body'])) {
+ $this->filename = $cmd['Body']->getMetadata('uri');
+ }
+ }
+}