PluginProbe ʕ •ᴥ•ʔ
Transferito: WP Migration / trunk
Transferito: WP Migration vtrunk
trunk 11.4.0 12.0.0 13.1.0 14.0.0 14.0.11 14.0.7 14.1.0 14.1.1 14.1.2 14.1.3 14.1.4
transferito / vendor / aws / aws-sdk-php / src / Signature / S3ExpressSignature.php
transferito / vendor / aws / aws-sdk-php / src / Signature Last commit date
AnonymousSignature.php 11 months ago S3ExpressSignature.php 11 months ago S3SignatureV4.php 11 months ago SignatureInterface.php 11 months ago SignatureProvider.php 11 months ago SignatureTrait.php 11 months ago SignatureV4.php 11 months ago
S3ExpressSignature.php
48 lines
1 <?php
2
3 namespace Aws\Signature;
4
5 use Aws\Credentials\Credentials;
6 use Aws\Credentials\CredentialsInterface;
7 use Psr\Http\Message\RequestInterface;
8
9 class S3ExpressSignature extends S3SignatureV4
10 {
11 public function signRequest(
12 RequestInterface $request,
13 CredentialsInterface $credentials,
14 $signingService = 's3express'
15 ) {
16 $request = $this->modifyTokenHeaders($request, $credentials);
17 $credentials = $this->getSigningCredentials($credentials);
18 return parent::signRequest($request, $credentials, $signingService);
19 }
20
21 public function presign(RequestInterface $request, CredentialsInterface $credentials, $expires, array $options = [])
22 {
23 $request = $this->modifyTokenHeaders($request, $credentials);
24 $credentials = $this->getSigningCredentials($credentials);
25 return parent::presign($request, $credentials, $expires, $options);
26 }
27
28 private function modifyTokenHeaders(
29 RequestInterface $request,
30 CredentialsInterface $credentials
31 ) {
32 //The x-amz-security-token header is not supported by s3 express
33 $request = $request->withoutHeader('X-Amz-Security-Token');
34 return $request->withHeader(
35 'x-amz-s3session-token',
36 $credentials->getSecurityToken()
37 );
38 }
39
40 private function getSigningCredentials(CredentialsInterface $credentials)
41 {
42 return new Credentials(
43 $credentials->getAccessKeyId(),
44 $credentials->getSecretKey()
45 );
46 }
47 }
48