@@ -10,10 +10,12 @@ https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html
10
10
https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions.html
11
11
*/
12
12
13
- const amzHeaders = [ 'Action' , 'Version' , ' X-Amz-Content-Sha256', 'X-Amz-Date' , 'X-Amz-Algorithm' , 'X-Amz-Credential' , 'X-Amz-Security-Token' ,
13
+ const amzHeaders = [ 'X-Amz-Content-Sha256' , 'X-Amz-Date' , 'X-Amz-Algorithm' , 'X-Amz-Credential' , 'X-Amz-Security-Token' ,
14
14
'X-Amz-Signature' , 'X-Amz-SignedHeaders' ] ;
15
15
const s3Headers = [ 'x-amz-security-token' ] ;
16
16
const v2Params = [ 'AWSAccessKeyId' , 'Action' , 'SignatureMethod' , 'SignatureVersion' , 'Timestamp' , 'Version' , 'Signature' ] ;
17
+ const v4Required = [ 'Action' , 'Version' ] ;
18
+ const v4Params = [ ] . concat ( v4Required , amzHeaders ) ;
17
19
18
20
var multiParams = [ ] ;
19
21
@@ -590,6 +592,15 @@ module.exports = {
590
592
591
593
// https://docs.aws.amazon.com/IAM/latest/APIReference/CommonParameters.html
592
594
595
+ for ( var p in v4Required ) {
596
+ var param = { } ;
597
+ param . name = v4Required [ p ] ;
598
+ param [ "in" ] = 'query' ;
599
+ param . type = 'string' ;
600
+ param . required = true ;
601
+ s . parameters [ v4Required [ p ] ] = param ;
602
+ }
603
+
593
604
for ( var h in amzHeaders ) {
594
605
var header = { } ;
595
606
header . name = amzHeaders [ h ] ;
@@ -598,8 +609,6 @@ module.exports = {
598
609
header . required = false ;
599
610
s . parameters [ amzHeaders [ h ] ] = header ;
600
611
}
601
- s . parameters . Action . required = true ;
602
- s . parameters . Version . required = true ;
603
612
604
613
}
605
614
else if ( src . metadata . signatureVersion == 's3' ) {
@@ -835,9 +844,9 @@ module.exports = {
835
844
s . paths [ url ] = path ; // path contains action
836
845
if ( sigV4Headers ) {
837
846
s . paths [ url ] . parameters = [ ] ;
838
- for ( var h in amzHeaders ) {
847
+ for ( var h in v4Params ) {
839
848
var param = { } ;
840
- param [ "$ref" ] = '#/parameters/' + amzHeaders [ h ] ;
849
+ param [ "$ref" ] = '#/parameters/' + v4Params [ h ] ;
841
850
s . paths [ url ] . parameters . push ( param ) ;
842
851
}
843
852
}
0 commit comments