/home/techb158/immovalet.com/vendor/aws/aws-sdk-php/src/S3
NameSizeModeActions
Crypto/-0755rm
Exception/-0755rm
RegionalEndpoint/-0755rm
UseArnRegion/-0755rm
AmbiguousSuccessParser.php22800644editdlrm
ApplyChecksumMiddleware.php19040644editdlrm
BatchDelete.php75810644editdlrm
BucketEndpointArnMiddleware.php118720644editdlrm
BucketEndpointMiddleware.php19140644editdlrm
EndpointRegionHelperTrait.php38780644editdlrm
GetBucketLocationParser.php13200644editdlrm
MultipartCopy.php69340644editdlrm
MultipartUploader.php61160644editdlrm
MultipartUploadingTrait.php39510644editdlrm
ObjectCopier.php57700644editdlrm
ObjectUploader.php51460644editdlrm
PermanentRedirectMiddleware.php17420644editdlrm
PostObject.php39270644editdlrm
PostObjectV4.php54300644editdlrm
PutObjectUrlMiddleware.php15690644editdlrm
RetryableMalformedResponseParser.php14530644editdlrm
S3Client.php429670644editdlrm
S3ClientInterface.php123290644editdlrm
S3ClientTrait.php84990644editdlrm
S3EndpointMiddleware.php114620644editdlrm
S3MultiRegionClient.php196430644editdlrm
S3UriParser.php50270644editdlrm
SSECMiddleware.php22890644editdlrm
StreamWrapper.php305980644editdlrm
Transfer.php151620644editdlrm
Edit: /home/techb158/immovalet.com/vendor/aws/aws-sdk-php/src/S3/MultipartCopy.php (6934B)
/). * @param array $config Configuration used to perform the upload. */ public function __construct( S3ClientInterface $client, $source, array $config = [] ) { if (ArnParser::isArn($source)) { $this->source = ''; } else { $this->source = "/"; } $this->source .= ltrim($source, '/'); parent::__construct( $client, array_change_key_case($config) + ['source_metadata' => null] ); } /** * An alias of the self::upload method. * * @see self::upload */ public function copy() { return $this->upload(); } protected function loadUploadWorkflowInfo() { return [ 'command' => [ 'initiate' => 'CreateMultipartUpload', 'upload' => 'UploadPartCopy', 'complete' => 'CompleteMultipartUpload', ], 'id' => [ 'bucket' => 'Bucket', 'key' => 'Key', 'upload_id' => 'UploadId', ], 'part_num' => 'PartNumber', ]; } protected function getUploadCommands(callable $resultHandler) { $parts = ceil($this->getSourceSize() / $this->determinePartSize()); for ($partNumber = 1; $partNumber <= $parts; $partNumber++) { // If we haven't already uploaded this part, yield a new part. if (!$this->state->hasPartBeenUploaded($partNumber)) { $command = $this->client->getCommand( $this->info['command']['upload'], $this->createPart($partNumber, $parts) + $this->getState()->getId() ); $command->getHandlerList()->appendSign($resultHandler, 'mup'); yield $command; } } } private function createPart($partNumber, $partsCount) { $data = []; // Apply custom params to UploadPartCopy data $config = $this->getConfig(); $params = isset($config['params']) ? $config['params'] : []; foreach ($params as $k => $v) { $data[$k] = $v; } list($bucket, $key) = explode('/', ltrim($this->source, '/'), 2); $data['CopySource'] = '/' . $bucket . '/' . implode( '/', array_map( 'urlencode', explode('/', rawurldecode($key)) ) ); $data['PartNumber'] = $partNumber; $defaultPartSize = $this->determinePartSize(); $startByte = $defaultPartSize * ($partNumber - 1); $data['ContentLength'] = $partNumber < $partsCount ? $defaultPartSize : $this->getSourceSize() - ($defaultPartSize * ($partsCount - 1)); $endByte = $startByte + $data['ContentLength'] - 1; $data['CopySourceRange'] = "bytes=$startByte-$endByte"; return $data; } protected function extractETag(ResultInterface $result) { return $result->search('CopyPartResult.ETag'); } protected function getSourceMimeType() { return $this->getSourceMetadata()['ContentType']; } protected function getSourceSize() { return $this->getSourceMetadata()['ContentLength']; } private function getSourceMetadata() { if (empty($this->sourceMetadata)) { $this->sourceMetadata = $this->fetchSourceMetadata(); } return $this->sourceMetadata; } private function fetchSourceMetadata() { if ($this->config['source_metadata'] instanceof ResultInterface) { return $this->config['source_metadata']; } list($bucket, $key) = explode('/', ltrim($this->source, '/'), 2); $headParams = [ 'Bucket' => $bucket, 'Key' => $key, ]; if (strpos($key, '?')) { list($key, $query) = explode('?', $key, 2); $headParams['Key'] = $key; $query = Psr7\Query::parse($query, false); if (isset($query['versionId'])) { $headParams['VersionId'] = $query['versionId']; } } return $this->client->headObject($headParams); } }