| @@ -315,9 +315,9 @@ | ||
| 315 | 315 | return new StaticCredentialsProvider(['access_key_id' => $credentials->getAccessKeyId(), 'secret_access_key' => $credentials->getSecretKey(), 'session_token' => $credentials->getSecurityToken()]); |
| 316 | 316 | } |
| 317 | 317 | private function removeIllegalV4aHeaders(&$request) |
| 318 | 318 | { |
| 319 | - $illegalV4aHeaders = [self::AMZ_CONTENT_SHA256_HEADER, "aws-sdk-invocation-id", "aws-sdk-retry", 'x-amz-region-set']; | |
| 319 | + static $illegalV4aHeaders = [self::AMZ_CONTENT_SHA256_HEADER, 'aws-sdk-invocation-id', 'aws-sdk-retry', 'x-amz-region-set', 'transfer-encoding']; | |
| 320 | 320 | $storedHeaders = []; |
| 321 | 321 | foreach ($illegalV4aHeaders as $header) { |
| 322 | 322 | if ($request->hasHeader($header)) { |
| 323 | 323 | $storedHeaders[$header] = $request->getHeader($header); |
| @@ -344,9 +344,9 @@ | ||
| 344 | 344 | * @param $signingService |
| 345 | 345 | * @param SigningConfigAWS|null $signingConfig |
| 346 | 346 | * @return RequestInterface |
| 347 | 347 | */ |
| 348 | - protected function signWithV4a(CredentialsInterface $credentials, RequestInterface $request, $signingService, SigningConfigAWS $signingConfig = null) | |
| 348 | + protected function signWithV4a(CredentialsInterface $credentials, RequestInterface $request, $signingService, ?SigningConfigAWS $signingConfig = null) | |
| 349 | 349 | { |
| 350 | 350 | $this->verifyCRTLoaded(); |
| 351 | 351 | $signingConfig = $signingConfig ?? new SigningConfigAWS(['algorithm' => SigningAlgorithm::SIGv4_ASYMMETRIC, 'signature_type' => SignatureType::HTTP_REQUEST_HEADERS, 'credentials_provider' => $this->createCRTStaticCredentialsProvider($credentials), 'signed_body_value' => $this->getPayload($request), 'should_normalize_uri_path' => \true, 'use_double_uri_encode' => \true, 'region' => $this->region, 'service' => $signingService, 'date' => \time()]); |
| 352 | 352 | $removedIllegalHeaders = $this->removeIllegalV4aHeaders($request); |