From 1009dc2a2d75ea641ea60ec5475bf030f81d8356 Mon Sep 17 00:00:00 2001 From: dcmexy Date: Tue, 10 Sep 2024 11:45:15 +0100 Subject: [PATCH] filter out empty headers - resolves #53 Fixes issues https://github.com/tpyo/amazon-s3-php-class/issues/157 & https://github.com/tpyo/amazon-s3-php-class/issues/171. It turns out that ListBuckets does not work on non-amazon services due to a 403 SignatureDoesNotMatch error caused by the empty headers. --- S3.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/S3.php b/S3.php index 88af763a..cfa09edd 100644 --- a/S3.php +++ b/S3.php @@ -2004,7 +2004,7 @@ public static function __getSignatureV4($amzHeaders, $headers, $method, $uri, $p // CanonicalHeaders foreach ($headers as $k => $v) - $combinedHeaders[strtolower($k)] = trim($v); + if (!empty($v)) $combinedHeaders[strtolower($k)] = trim($v); foreach ($amzHeaders as $k => $v) $combinedHeaders[strtolower($k)] = trim($v); uksort($combinedHeaders, array('S3', '__sortMetaHeadersCmp'));