spaces.php

This commit is contained in:
Devang Srivastava 2017-12-07 21:23:18 +05:30
commit eefa32741e
845 changed files with 50409 additions and 0 deletions

View file

@ -0,0 +1,62 @@
<?php
namespace Aws\S3\Exception;
/**
* Exception thrown when errors occur while deleting objects using a
* {@see S3\BatchDelete} object.
*/
class DeleteMultipleObjectsException extends \Exception
{
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;
}
}

View file

@ -0,0 +1,4 @@
<?php
namespace Aws\S3\Exception;
class PermanentRedirectException extends S3Exception {}

View file

@ -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 {}

View file

@ -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');
}
}
}