PluginProbe
Media Cloud Sync / 1.4.1
Media Cloud Sync v1.4.1
1.4.1 1.4.0 1.3.12 1.3.11 1.3.10 trunk 1.0.0 1.0.1 1.0.2 1.0.3 1.1.0 1.1.1 1.2.0 1.2.10 1.2.11 1.2.12 1.2.13 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 1.2.7 1.2.8 1.2.9 All 35 releases
media-cloud-sync / includes / sdk / s3 / Aws / Signature / S3ExpressSignature.php

S3ExpressSignature.php in Media Cloud Sync 1.4.1, at includes/sdk/s3/Aws/Signature/S3ExpressSignature.php

33 lines 1.5 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace Dudlewebs\WPMCS\s3\Aws\Signature;
4
5 use Dudlewebs\WPMCS\s3\Aws\Credentials\Credentials;
6 use Dudlewebs\WPMCS\s3\Aws\Credentials\CredentialsInterface;
7 use Dudlewebs\WPMCS\s3\Psr\Http\Message\RequestInterface;
8 class S3ExpressSignature extends S3SignatureV4
9 {
10 public function signRequest(RequestInterface $request, CredentialsInterface $credentials, $signingService = 's3express')
11 {
12 $request = $this->modifyTokenHeaders($request, $credentials);
13 $credentials = $this->getSigningCredentials($credentials);
14 return parent::signRequest($request, $credentials, $signingService);
15 }
16 public function presign(RequestInterface $request, CredentialsInterface $credentials, $expires, array $options = [])
17 {
18 $request = $this->modifyTokenHeaders($request, $credentials);
19 $credentials = $this->getSigningCredentials($credentials);
20 return parent::presign($request, $credentials, $expires, $options);
21 }
22 private function modifyTokenHeaders(RequestInterface $request, CredentialsInterface $credentials)
23 {
24 //The x-amz-security-token header is not supported by s3 express
25 $request = $request->withoutHeader('X-Amz-Security-Token');
26 return $request->withHeader('x-amz-s3session-token', $credentials->getSecurityToken());
27 }
28 private function getSigningCredentials(CredentialsInterface $credentials)
29 {
30 return new Credentials($credentials->getAccessKeyId(), $credentials->getSecretKey());
31 }
32 }
33