@@ -20,7 +20,6 @@ const { S3Client,
2020    HeadBucketCommand, 
2121}  =  require ( '@aws-sdk/client-s3' ) ; 
2222const  {  NodeHttpHandler }  =  require ( '@smithy/node-http-handler' ) ; 
23- const  {  StandardRetryStrategy }  =  require ( '@aws-sdk/middleware-retry' ) ; 
2423const  {  Agent : HttpAgent  }  =  require ( 'http' ) ; 
2524const  {  Agent : HttpsAgent  }  =  require ( 'https' ) ; 
2625const  kms  =  require ( '../../../lib/kms/wrapper' ) ; 
@@ -40,7 +39,6 @@ function getKey(key) {
4039// For Integration use default profile, in cloudserver use vault profile 
4140const  credsProfile  =  process . env . S3_END_TO_END  ===  'true'  ? 'default'  : 'vault' ; 
4241
43- // Create custom agents with specific pooling settings 
4442const  httpAgent  =  new  HttpAgent ( { 
4543    keepAlive : true , 
4644    keepAliveMsecs : 30000 , 
@@ -65,36 +63,21 @@ const s3config = {
6563        httpAgent, 
6664        httpsAgent, 
6765    } ) , 
68-     maxAttempts : 8 , 
69-     retryStrategy : new  StandardRetryStrategy ( { 
70-         maxAttempts : 8 , 
71-         retryDecider : error  =>  
72-              ( 
73-                 error . code  ===  'ECONNREFUSED'  || 
74-                 error . code  ===  'ECONNRESET'  || 
75-                 error . name  ===  'TimeoutError'  || 
76-                 error . message ?. includes ( 'socket hang up' )  || 
77-                 error . code  ===  'ThrottlingException'  || 
78-                 error . code  ===  'RequestTimeout' 
79-             ) 
80-         , 
81-         delayDecider : attempts  =>  Math . min ( 1000  *  Math . pow ( 2 ,  attempts ) ,  30000 ) ,  // Exponential backoff 
82-     } ) , 
66+     maxAttempts : 3 , 
8367} ; 
8468
8569const  s3Client  =  new  S3Client ( s3config ) ; 
8670
87- // Remove logger middleware if present 
8871if  ( s3Client . middlewareStack . identify ( ) . includes ( 'loggerMiddleware' ) )  { 
8972    s3Client . middlewareStack . remove ( 'loggerMiddleware' ) ; 
9073} 
9174
9275const  bucketUtil  =  new  BucketUtility ( credsProfile ) ; 
9376
94- // Wrapper for SDK v3 commands to return promises directly 
9577const  wrap  =  exec  =>  exec ( ) ; 
9678const  s3  =  { 
9779    createBucket : params  =>  wrap ( ( )  =>  s3Client . send ( new  CreateBucketCommand ( params ) ) ) , 
80+     deleteBucket : params  =>  wrap ( ( )  =>  s3Client . send ( new  DeleteBucketCommand ( params ) ) ) , 
9881    putBucketEncryption : params  =>  wrap ( ( )  =>  s3Client . send ( new  PutBucketEncryptionCommand ( params ) ) ) , 
9982    getBucketEncryption : params  =>  wrap ( ( )  =>  s3Client . send ( new  GetBucketEncryptionCommand ( params ) ) ) , 
10083    putObject : params  =>  wrap ( ( )  =>  s3Client . send ( new  PutObjectCommand ( params ) ) ) , 
@@ -176,7 +159,7 @@ const MD = {
176159
177160async  function  getBucketSSE ( Bucket )  { 
178161    try  { 
179-         const  sse  =  await  s3Client . send ( new   GetBucketEncryptionCommand ( {  Bucket } ) ) ; 
162+         const  sse  =  await  s3 . getBucketEncryption ( {  Bucket } ) ; 
180163        return  sse . ServerSideEncryptionConfiguration . Rules [ 0 ] . ApplyServerSideEncryptionByDefault ; 
181164    }  catch  ( error )  { 
182165        if  ( error . name  ===  'ServerSideEncryptionConfigurationNotFoundError' )  { 
@@ -187,10 +170,10 @@ async function getBucketSSE(Bucket) {
187170} 
188171
189172async  function  putEncryptedObject ( Bucket ,  Key ,  sseConfig ,  kmsKeyId ,  Body )  { 
190-     return  s3Client . send ( new   PutObjectCommand ( { 
173+     return  s3 . putObject ( { 
191174        ...putObjParams ( Bucket ,  Key ,  sseConfig ,  kmsKeyId ) , 
192175        Body, 
193-     } ) ) ; 
176+     } ) ; 
194177} 
195178
196179async  function  getObjectMDSSE ( Bucket ,  Key )  { 
@@ -221,7 +204,7 @@ const destroyKmsKey = promisify(kms.destroyBucketKey);
221204
222205async  function  cleanup ( Bucket )  { 
223206    await  bucketUtil . empty ( Bucket ) ; 
224-     await  s3Client . send ( new   DeleteBucketCommand ( {  Bucket } ) ) ; 
207+     await  s3 . deleteBucket ( {  Bucket } ) ; 
225208} 
226209
227210module . exports  =  { 
0 commit comments