Skip to content

Commit 938b855

Browse files
committed
Allow x-amz headers in $requestHeaders param.
With this, custom headers like ‘x-amz-server-side-encryption-customer-algorithm’ will work.
1 parent 8413f6f commit 938b855

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

S3.php

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -642,7 +642,8 @@ public static function putObject($input, $bucket, $uri, $acl = self::ACL_PRIVATE
642642

643643
// Custom request headers (Content-Type, Content-Disposition, Content-Encoding)
644644
if (is_array($requestHeaders))
645-
foreach ($requestHeaders as $h => $v) $rest->setHeader($h, $v);
645+
foreach ($requestHeaders as $h => $v)
646+
strpos($h, 'x-amz-') === 0 ? $rest->setAmzHeader($h, $v) : $rest->setHeader($h, $v);
646647
elseif (is_string($requestHeaders)) // Support for legacy contentType parameter
647648
$input['type'] = $requestHeaders;
648649

@@ -797,7 +798,8 @@ public static function copyObject($srcBucket, $srcUri, $bucket, $uri, $acl = sel
797798
{
798799
$rest = new S3Request('PUT', $bucket, $uri, self::$endpoint);
799800
$rest->setHeader('Content-Length', 0);
800-
foreach ($requestHeaders as $h => $v) $rest->setHeader($h, $v);
801+
foreach ($requestHeaders as $h => $v)
802+
strpos($h, 'x-amz-') === 0 ? $rest->setAmzHeader($h, $v) : $rest->setHeader($h, $v);
801803
foreach ($metaHeaders as $h => $v) $rest->setAmzHeader('x-amz-meta-'.$h, $v);
802804
if ($storageClass !== self::STORAGE_CLASS_STANDARD) // Storage class
803805
$rest->setAmzHeader('x-amz-storage-class', $storageClass);

0 commit comments

Comments
 (0)