![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/aws/aws-sdk-php/src/Signature/ |
<?php namespace Aws\Signature; use Aws\Credentials\Credentials; use Aws\Credentials\CredentialsInterface; use Psr\Http\Message\RequestInterface; class S3ExpressSignature extends S3SignatureV4 { public function signRequest( RequestInterface $request, CredentialsInterface $credentials, $signingService = 's3express' ) { $request = $this->modifyTokenHeaders($request, $credentials); $credentials = $this->getSigningCredentials($credentials); return parent::signRequest($request, $credentials, $signingService); } public function presign(RequestInterface $request, CredentialsInterface $credentials, $expires, array $options = []) { $request = $this->modifyTokenHeaders($request, $credentials); $credentials = $this->getSigningCredentials($credentials); return parent::presign($request, $credentials, $expires, $options); } private function modifyTokenHeaders( RequestInterface $request, CredentialsInterface $credentials ) { //The x-amz-security-token header is not supported by s3 express $request = $request->withoutHeader('X-Amz-Security-Token'); return $request->withHeader( 'x-amz-s3session-token', $credentials->getSecurityToken() ); } private function getSigningCredentials(CredentialsInterface $credentials) { return new Credentials( $credentials->getAccessKeyId(), $credentials->getSecretKey() ); } }