summaryrefslogtreecommitdiff
path: root/vendor/aws/aws-sdk-php/src/S3/MultipartCopy.php
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2023-10-20 16:44:35 +0300
committerAndrew Dolgov <[email protected]>2023-10-20 16:44:35 +0300
commit8bec661288b276c98bdb0e773e5f4d5275dc4c87 (patch)
tree8617ebe581c62fc46a7881aa61801ebce9d3c603 /vendor/aws/aws-sdk-php/src/S3/MultipartCopy.php
parent540438c2eb5452bacad30c247906bfa287f2da1d (diff)
update AWK SDKHEADmaster
Diffstat (limited to 'vendor/aws/aws-sdk-php/src/S3/MultipartCopy.php')
-rw-r--r--vendor/aws/aws-sdk-php/src/S3/MultipartCopy.php28
1 files changed, 14 insertions, 14 deletions
diff --git a/vendor/aws/aws-sdk-php/src/S3/MultipartCopy.php b/vendor/aws/aws-sdk-php/src/S3/MultipartCopy.php
index e78a824..5b26dea 100644
--- a/vendor/aws/aws-sdk-php/src/S3/MultipartCopy.php
+++ b/vendor/aws/aws-sdk-php/src/S3/MultipartCopy.php
@@ -70,6 +70,7 @@ class MultipartCopy extends AbstractUploadManager
} else {
$this->source = $this->getInputSource($source);
}
+
parent::__construct(
$client,
array_change_key_case($config) + ['source_metadata' => null]
@@ -134,18 +135,21 @@ class MultipartCopy extends AbstractUploadManager
// if the key contains a '?' character to specify where the query parameters start
if (is_array($this->source)) {
$key = str_replace('%2F', '/', rawurlencode($this->source['source_key']));
- $data['CopySource'] = '/' . $this->source['source_bucket'] . '/' . $key;
+ $bucket = $this->source['source_bucket'];
} else {
-
list($bucket, $key) = explode('/', ltrim($this->source, '/'), 2);
- $data['CopySource'] = '/' . $bucket . '/' . implode(
- '/',
- array_map(
- 'urlencode',
- explode('/', rawurldecode($key))
- )
- );
+ $key = implode(
+ '/',
+ array_map(
+ 'urlencode',
+ explode('/', rawurldecode($key))
+ )
+ );
}
+
+ $uri = ArnParser::isArn($bucket) ? '' : '/';
+ $uri .= $bucket . '/' . $key;
+ $data['CopySource'] = $uri;
$data['PartNumber'] = $partNumber;
if (!empty($this->sourceVersionId)) {
$data['CopySource'] .= "?versionId=" . $this->sourceVersionId;
@@ -230,11 +234,7 @@ class MultipartCopy extends AbstractUploadManager
*/
private function getInputSource($inputSource)
{
- if (ArnParser::isArn($inputSource)) {
- $sourceBuilder = '';
- } else {
- $sourceBuilder = "/";
- }
+ $sourceBuilder = ArnParser::isArn($inputSource) ? '' : '/';
$sourceBuilder .= ltrim(rawurldecode($inputSource), '/');
return $sourceBuilder;
}