/home/techb158/ileadtechnology.com/vendor/aws/aws-sdk-php/src/S3
NameSizeModeActions
Crypto/-0755rm
Exception/-0755rm
RegionalEndpoint/-0755rm
UseArnRegion/-0755rm
AmbiguousSuccessParser.php22800644editdlrm
ApplyChecksumMiddleware.php41910644editdlrm
BatchDelete.php76720644editdlrm
BucketEndpointArnMiddleware.php140180644editdlrm
BucketEndpointMiddleware.php33990644editdlrm
CalculatesChecksumTrait.php18390644editdlrm
EndpointRegionHelperTrait.php32300644editdlrm
GetBucketLocationParser.php13200644editdlrm
MultipartCopy.php90400644editdlrm
MultipartUploader.php62800644editdlrm
MultipartUploadingTrait.php42060644editdlrm
ObjectCopier.php59590644editdlrm
ObjectUploader.php55000644editdlrm
PermanentRedirectMiddleware.php17420644editdlrm
PostObject.php39270644editdlrm
PostObjectV4.php54300644editdlrm
PutObjectUrlMiddleware.php15690644editdlrm
RetryableMalformedResponseParser.php14530644editdlrm
S3Client.php491610644editdlrm
S3ClientInterface.php144470644editdlrm
S3ClientTrait.php104110644editdlrm
S3EndpointMiddleware.php113200644editdlrm
S3MultiRegionClient.php197970644editdlrm
S3UriParser.php50270644editdlrm
SSECMiddleware.php22890644editdlrm
StreamWrapper.php314330644editdlrm
Transfer.php155130644editdlrm
ValidateResponseChecksumParser.php52090644editdlrm
Edit: /home/techb158/ileadtechnology.com/vendor/aws/aws-sdk-php/src/S3/ObjectCopier.php (5959B)
null, 'before_upload' => null, 'concurrency' => 5, 'mup_threshold' => self::DEFAULT_MULTIPART_THRESHOLD, 'params' => [], 'part_size' => null, 'version_id' => null, ]; /** * @param S3ClientInterface $client The S3 Client used to execute * the copy command(s). * @param array $source The object to copy, specified as * an array with a 'Bucket' and * 'Key' keys. Provide a * 'VersionID' key to copy a * specified version of an object. * @param array $destination The bucket and key to which to * copy the $source, specified as * an array with a 'Bucket' and * 'Key' keys. * @param string $acl ACL to apply to the copy * (default: private). * @param array $options Options used to configure the * copy process. Options passed in * through 'params' are added to * the sub commands. * * @throws InvalidArgumentException */ public function __construct( S3ClientInterface $client, array $source, array $destination, $acl = 'private', array $options = [] ) { $this->validateLocation($source); $this->validateLocation($destination); $this->client = $client; $this->source = $source; $this->destination = $destination; $this->acl = $acl; $this->options = $options + self::$defaults; } /** * Perform the configured copy asynchronously. Returns a promise that is * fulfilled with the result of the CompleteMultipartUpload or CopyObject * operation or rejected with an exception. * * @return Coroutine */ public function promise(): PromiseInterface { return Coroutine::of(function () { $headObjectCommand = $this->client->getCommand( 'HeadObject', $this->options['params'] + $this->source ); if (is_callable($this->options['before_lookup'])) { $this->options['before_lookup']($headObjectCommand); } $objectStats = (yield $this->client->executeAsync( $headObjectCommand )); if ($objectStats['ContentLength'] > $this->options['mup_threshold']) { $mup = new MultipartCopy( $this->client, $this->getSourcePath(), ['source_metadata' => $objectStats, 'acl' => $this->acl] + $this->destination + $this->options ); yield $mup->promise(); } else { $defaults = [ 'ACL' => $this->acl, 'MetadataDirective' => 'COPY', 'CopySource' => $this->getSourcePath(), ]; $params = array_diff_key($this->options, self::$defaults) + $this->destination + $defaults + $this->options['params']; yield $this->client->executeAsync( $this->client->getCommand('CopyObject', $params) ); } }); } /** * Perform the configured copy synchronously. Returns the result of the * CompleteMultipartUpload or CopyObject operation. * * @return Result * * @throws S3Exception * @throws MultipartUploadException */ public function copy() { return $this->promise()->wait(); } private function validateLocation(array $location) { if (empty($location['Bucket']) || empty($location['Key'])) { throw new \InvalidArgumentException('Locations provided to an' . ' Aws\S3\ObjectCopier must have a non-empty Bucket and Key'); } } private function getSourcePath() { $path = "/{$this->source['Bucket']}/"; if (ArnParser::isArn($this->source['Bucket'])) { try { new AccessPointArn($this->source['Bucket']); $path = "{$this->source['Bucket']}/object/"; } catch (\Exception $e) { throw new \InvalidArgumentException( 'Provided ARN was a not a valid S3 access point ARN (' . $e->getMessage() . ')', 0, $e ); } } $sourcePath = $path . rawurlencode($this->source['Key']); if (isset($this->source['VersionId'])) { $sourcePath .= "?versionId={$this->source['VersionId']}"; } return $sourcePath; } }