in src/Signature/SignatureProvider.php [119:146]
public static function version()
{
return function ($version, $service, $region) {
switch ($version) {
case 'v4-s3express':
return new S3ExpressSignature($service, $region);
case 's3v4':
case 'v4':
return !empty(self::$s3v4SignedServices[$service])
? new S3SignatureV4($service, $region)
: new SignatureV4($service, $region);
case 'v4a':
return !empty(self::$s3v4SignedServices[$service])
? new S3SignatureV4($service, $region, ['use_v4a' => true])
: new SignatureV4($service, $region, ['use_v4a' => true]);
case 'v4-unsigned-body':
return !empty(self::$s3v4SignedServices[$service])
? new S3SignatureV4($service, $region, ['unsigned-body' => 'true'])
: new SignatureV4($service, $region, ['unsigned-body' => 'true']);
case 'bearer':
return new BearerTokenAuthorization();
case 'anonymous':
return new AnonymousSignature();
default:
return null;
}
};
}