@aws-amplify/predictions 4.0.23-unstable.4 → 4.0.23-unstable.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -94627,16 +94627,23 @@ function () {
94627
94627
  /*!**************************************************!*\
94628
94628
  !*** ../storage/lib-esm/common/S3ClientUtils.js ***!
94629
94629
  \**************************************************/
94630
- /*! exports provided: getPrefix, createPrefixMiddleware, prefixMiddlewareOptions */
94630
+ /*! exports provided: getPrefix, createPrefixMiddleware, autoAdjustClockskewMiddleware, autoAdjustClockskewMiddlewareOptions, prefixMiddlewareOptions, credentialsProvider, createS3Client */
94631
94631
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
94632
94632
 
94633
94633
  "use strict";
94634
94634
  __webpack_require__.r(__webpack_exports__);
94635
94635
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getPrefix", function() { return getPrefix; });
94636
94636
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "createPrefixMiddleware", function() { return createPrefixMiddleware; });
94637
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "autoAdjustClockskewMiddleware", function() { return autoAdjustClockskewMiddleware; });
94638
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "autoAdjustClockskewMiddlewareOptions", function() { return autoAdjustClockskewMiddlewareOptions; });
94637
94639
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "prefixMiddlewareOptions", function() { return prefixMiddlewareOptions; });
94640
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "credentialsProvider", function() { return credentialsProvider; });
94641
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "createS3Client", function() { return createS3Client; });
94638
94642
  /* harmony import */ var _aws_amplify_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @aws-amplify/core */ "@aws-amplify/core");
94639
94643
  /* harmony import */ var _aws_amplify_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_aws_amplify_core__WEBPACK_IMPORTED_MODULE_0__);
94644
+ /* harmony import */ var _aws_sdk_client_s3__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @aws-sdk/client-s3 */ "../../node_modules/@aws-sdk/client-s3/dist/es/index.js");
94645
+ /* harmony import */ var _providers_axios_http_handler__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../providers/axios-http-handler */ "../storage/lib-esm/providers/axios-http-handler.js");
94646
+ /* harmony import */ var _StorageConstants__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./StorageConstants */ "../storage/lib-esm/common/StorageConstants.js");
94640
94647
  var __assign = undefined && undefined.__assign || function () {
94641
94648
  __assign = Object.assign || function (t) {
94642
94649
  for (var s, i = 1, n = arguments.length; i < n; i++) {
@@ -94797,6 +94804,15 @@ var __generator = undefined && undefined.__generator || function (thisArg, body)
94797
94804
  };
94798
94805
 
94799
94806
 
94807
+
94808
+
94809
+
94810
+ var logger = new _aws_amplify_core__WEBPACK_IMPORTED_MODULE_0__["Logger"]('S3ClientUtils'); // placeholder credentials in order to satisfy type requirement, always results in 403 when used
94811
+
94812
+ var INVALID_CRED = {
94813
+ accessKeyId: '',
94814
+ secretAccessKey: ''
94815
+ };
94800
94816
  var getPrefix = function getPrefix(config) {
94801
94817
  var credentials = config.credentials,
94802
94818
  level = config.level,
@@ -94857,10 +94873,126 @@ var createPrefixMiddleware = function createPrefixMiddleware(opt, key) {
94857
94873
  };
94858
94874
  };
94859
94875
  };
94876
+
94877
+ var isTimeSkewedError = function isTimeSkewedError(err) {
94878
+ return err.ServerTime && typeof err.Code === 'string' && err.Code === 'RequestTimeTooSkewed';
94879
+ }; // we want to take the S3Client config in parameter so we can modify it's systemClockOffset
94880
+
94881
+
94882
+ var autoAdjustClockskewMiddleware = function autoAdjustClockskewMiddleware(config) {
94883
+ return function (next, _context) {
94884
+ return function (args) {
94885
+ return __awaiter(void 0, void 0, void 0, function () {
94886
+ var err_1, serverDate;
94887
+ return __generator(this, function (_a) {
94888
+ switch (_a.label) {
94889
+ case 0:
94890
+ _a.trys.push([0, 2,, 3]);
94891
+
94892
+ return [4
94893
+ /*yield*/
94894
+ , next(args)];
94895
+
94896
+ case 1:
94897
+ return [2
94898
+ /*return*/
94899
+ , _a.sent()];
94900
+
94901
+ case 2:
94902
+ err_1 = _a.sent();
94903
+
94904
+ if (isTimeSkewedError(err_1)) {
94905
+ serverDate = new Date(err_1.ServerTime);
94906
+ config.systemClockOffset = serverDate.getTime() - Date.now();
94907
+ }
94908
+
94909
+ throw err_1;
94910
+
94911
+ case 3:
94912
+ return [2
94913
+ /*return*/
94914
+ ];
94915
+ }
94916
+ });
94917
+ });
94918
+ };
94919
+ };
94920
+ };
94921
+ var autoAdjustClockskewMiddlewareOptions = {
94922
+ step: 'finalizeRequest',
94923
+ name: 'autoAdjustClockskewMiddleware'
94924
+ };
94860
94925
  var prefixMiddlewareOptions = {
94861
94926
  step: 'initialize',
94862
94927
  name: 'addPrefixMiddleware'
94863
94928
  };
94929
+ var credentialsProvider = function credentialsProvider() {
94930
+ return __awaiter(void 0, void 0, void 0, function () {
94931
+ var credentials, cred, error_1;
94932
+ return __generator(this, function (_a) {
94933
+ switch (_a.label) {
94934
+ case 0:
94935
+ _a.trys.push([0, 2,, 3]);
94936
+
94937
+ return [4
94938
+ /*yield*/
94939
+ , _aws_amplify_core__WEBPACK_IMPORTED_MODULE_0__["Credentials"].get()];
94940
+
94941
+ case 1:
94942
+ credentials = _a.sent();
94943
+ if (!credentials) return [2
94944
+ /*return*/
94945
+ , INVALID_CRED];
94946
+ cred = _aws_amplify_core__WEBPACK_IMPORTED_MODULE_0__["Credentials"].shear(credentials);
94947
+ logger.debug('credentials provider get credentials', cred);
94948
+ return [2
94949
+ /*return*/
94950
+ , cred];
94951
+
94952
+ case 2:
94953
+ error_1 = _a.sent();
94954
+ logger.warn('credentials provider error', error_1);
94955
+ return [2
94956
+ /*return*/
94957
+ , INVALID_CRED];
94958
+
94959
+ case 3:
94960
+ return [2
94961
+ /*return*/
94962
+ ];
94963
+ }
94964
+ });
94965
+ });
94966
+ };
94967
+ var createS3Client = function createS3Client(config, emitter) {
94968
+ var region = config.region,
94969
+ cancelTokenSource = config.cancelTokenSource,
94970
+ dangerouslyConnectToHttpEndpointForTesting = config.dangerouslyConnectToHttpEndpointForTesting,
94971
+ useAccelerateEndpoint = config.useAccelerateEndpoint;
94972
+ var localTestingConfig = {};
94973
+
94974
+ if (dangerouslyConnectToHttpEndpointForTesting) {
94975
+ localTestingConfig = {
94976
+ endpoint: _StorageConstants__WEBPACK_IMPORTED_MODULE_3__["localTestingStorageEndpoint"],
94977
+ tls: false,
94978
+ bucketEndpoint: false,
94979
+ forcePathStyle: true
94980
+ };
94981
+ }
94982
+
94983
+ var s3client = new _aws_sdk_client_s3__WEBPACK_IMPORTED_MODULE_1__["S3Client"](__assign(__assign({
94984
+ region: region,
94985
+ // Using provider instead of a static credentials, so that if an upload task was in progress, but credentials gets
94986
+ // changed or invalidated (e.g user signed out), the subsequent requests will fail.
94987
+ credentials: credentialsProvider,
94988
+ customUserAgent: Object(_aws_amplify_core__WEBPACK_IMPORTED_MODULE_0__["getAmplifyUserAgent"])()
94989
+ }, localTestingConfig), {
94990
+ requestHandler: new _providers_axios_http_handler__WEBPACK_IMPORTED_MODULE_2__["AxiosHttpHandler"]({}, emitter, cancelTokenSource),
94991
+ useAccelerateEndpoint: useAccelerateEndpoint
94992
+ }));
94993
+ s3client.middlewareStack.remove(_StorageConstants__WEBPACK_IMPORTED_MODULE_3__["SET_CONTENT_LENGTH_HEADER"]);
94994
+ return s3client;
94995
+ };
94864
94996
 
94865
94997
  /***/ }),
94866
94998
 
@@ -95304,12 +95436,7 @@ var __generator = undefined && undefined.__generator || function (thisArg, body)
95304
95436
 
95305
95437
  var logger = new _aws_amplify_core__WEBPACK_IMPORTED_MODULE_0__["ConsoleLogger"]('AWSS3Provider');
95306
95438
  var DEFAULT_STORAGE_LEVEL = 'public';
95307
- var DEFAULT_PRESIGN_EXPIRATION = 900; // placeholder credentials in order to satisfy type requirement, always results in 403 when used
95308
-
95309
- var INVALID_CRED = {
95310
- accessKeyId: '',
95311
- secretAccessKey: ''
95312
- };
95439
+ var DEFAULT_PRESIGN_EXPIRATION = 900;
95313
95440
  /**
95314
95441
  * Provide storage methods to use AWS S3
95315
95442
  */
@@ -95529,7 +95656,6 @@ function () {
95529
95656
 
95530
95657
  if (acl) params.ACL = acl;
95531
95658
  s3 = this._createNewS3Client(opt);
95532
- s3.middlewareStack.remove(_common_StorageConstants__WEBPACK_IMPORTED_MODULE_11__["SET_CONTENT_LENGTH_HEADER"]);
95533
95659
  _c.label = 2;
95534
95660
 
95535
95661
  case 2:
@@ -96067,77 +96193,14 @@ function () {
96067
96193
  return publicPath;
96068
96194
  }
96069
96195
  };
96070
-
96071
- AWSS3Provider.prototype._credentialsProvider = function () {
96072
- return __awaiter(this, void 0, void 0, function () {
96073
- var credentials, cred, error_7;
96074
- return __generator(this, function (_a) {
96075
- switch (_a.label) {
96076
- case 0:
96077
- _a.trys.push([0, 2,, 3]);
96078
-
96079
- return [4
96080
- /*yield*/
96081
- , _aws_amplify_core__WEBPACK_IMPORTED_MODULE_0__["Credentials"].get()];
96082
-
96083
- case 1:
96084
- credentials = _a.sent();
96085
- if (!credentials) return [2
96086
- /*return*/
96087
- , INVALID_CRED];
96088
- cred = _aws_amplify_core__WEBPACK_IMPORTED_MODULE_0__["Credentials"].shear(credentials);
96089
- logger.debug('credentials provider get credentials', cred);
96090
- return [2
96091
- /*return*/
96092
- , cred];
96093
-
96094
- case 2:
96095
- error_7 = _a.sent();
96096
- logger.warn('credentials provider error', error_7);
96097
- return [2
96098
- /*return*/
96099
- , INVALID_CRED];
96100
-
96101
- case 3:
96102
- return [2
96103
- /*return*/
96104
- ];
96105
- }
96106
- });
96107
- });
96108
- };
96109
96196
  /**
96110
96197
  * Creates an S3 client with new V3 aws sdk
96111
96198
  */
96112
96199
 
96113
96200
 
96114
96201
  AWSS3Provider.prototype._createNewS3Client = function (config, emitter) {
96115
- var region = config.region,
96116
- cancelTokenSource = config.cancelTokenSource,
96117
- dangerouslyConnectToHttpEndpointForTesting = config.dangerouslyConnectToHttpEndpointForTesting,
96118
- _a = config.useAccelerateEndpoint,
96119
- useAccelerateEndpoint = _a === void 0 ? false : _a;
96120
- var localTestingConfig = {};
96121
-
96122
- if (dangerouslyConnectToHttpEndpointForTesting) {
96123
- localTestingConfig = {
96124
- endpoint: _common_StorageConstants__WEBPACK_IMPORTED_MODULE_11__["localTestingStorageEndpoint"],
96125
- tls: false,
96126
- bucketEndpoint: false,
96127
- forcePathStyle: true
96128
- };
96129
- }
96130
-
96131
- var s3client = new _aws_sdk_client_s3__WEBPACK_IMPORTED_MODULE_1__["S3Client"](__assign(__assign({
96132
- region: region,
96133
- // Using provider instead of a static credentials, so that if an upload task was in progress, but credentials gets
96134
- // changed or invalidated (e.g user signed out), the subsequent requests will fail.
96135
- credentials: this._credentialsProvider,
96136
- customUserAgent: Object(_aws_amplify_core__WEBPACK_IMPORTED_MODULE_0__["getAmplifyUserAgent"])()
96137
- }, localTestingConfig), {
96138
- requestHandler: new _axios_http_handler__WEBPACK_IMPORTED_MODULE_5__["AxiosHttpHandler"]({}, emitter, cancelTokenSource),
96139
- useAccelerateEndpoint: useAccelerateEndpoint
96140
- }));
96202
+ var s3client = Object(_common_S3ClientUtils__WEBPACK_IMPORTED_MODULE_8__["createS3Client"])(config, emitter);
96203
+ s3client.middlewareStack.add(Object(_common_S3ClientUtils__WEBPACK_IMPORTED_MODULE_8__["autoAdjustClockskewMiddleware"])(s3client.config), _common_S3ClientUtils__WEBPACK_IMPORTED_MODULE_8__["autoAdjustClockskewMiddlewareOptions"]);
96141
96204
  return s3client;
96142
96205
  };
96143
96206
 
@@ -96169,10 +96232,9 @@ __webpack_require__.r(__webpack_exports__);
96169
96232
  /* harmony import */ var _aws_amplify_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_aws_amplify_core__WEBPACK_IMPORTED_MODULE_0__);
96170
96233
  /* harmony import */ var _aws_sdk_client_s3__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @aws-sdk/client-s3 */ "../../node_modules/@aws-sdk/client-s3/dist/es/index.js");
96171
96234
  /* harmony import */ var _axios_http_handler__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./axios-http-handler */ "../storage/lib-esm/providers/axios-http-handler.js");
96172
- /* harmony import */ var _common_StorageConstants__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../common/StorageConstants */ "../storage/lib-esm/common/StorageConstants.js");
96173
- /* harmony import */ var events__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! events */ "../../node_modules/events/events.js");
96174
- /* harmony import */ var events__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(events__WEBPACK_IMPORTED_MODULE_4__);
96175
- /* harmony import */ var _common_S3ClientUtils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../common/S3ClientUtils */ "../storage/lib-esm/common/S3ClientUtils.js");
96235
+ /* harmony import */ var events__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! events */ "../../node_modules/events/events.js");
96236
+ /* harmony import */ var events__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(events__WEBPACK_IMPORTED_MODULE_3__);
96237
+ /* harmony import */ var _common_S3ClientUtils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../common/S3ClientUtils */ "../storage/lib-esm/common/S3ClientUtils.js");
96176
96238
  function _typeof(obj) {
96177
96239
  "@babel/helpers - typeof";
96178
96240
 
@@ -96366,7 +96428,6 @@ var __generator = undefined && undefined.__generator || function (thisArg, body)
96366
96428
 
96367
96429
 
96368
96430
 
96369
-
96370
96431
  var logger = new _aws_amplify_core__WEBPACK_IMPORTED_MODULE_0__["ConsoleLogger"]('AWSS3ProviderManagedUpload');
96371
96432
 
96372
96433
  var AWSS3ProviderManagedUpload =
@@ -96390,11 +96451,12 @@ function () {
96390
96451
  this.params = params;
96391
96452
  this.opts = opts;
96392
96453
  this.emitter = emitter;
96454
+ this.s3client = this._createNewS3Client(opts, emitter);
96393
96455
  }
96394
96456
 
96395
96457
  AWSS3ProviderManagedUpload.prototype.upload = function () {
96396
96458
  return __awaiter(this, void 0, void 0, function () {
96397
- var _a, putObjectCommand, s3, uploadId, numberOfPartsToUpload, parts, start;
96459
+ var _a, putObjectCommand, uploadId, numberOfPartsToUpload, parts, start;
96398
96460
 
96399
96461
  var _this = this;
96400
96462
 
@@ -96411,36 +96473,30 @@ function () {
96411
96473
  this.totalBytesToUpload = this.byteLength(this.body);
96412
96474
  if (!(this.totalBytesToUpload <= this.minPartSize)) return [3
96413
96475
  /*break*/
96414
- , 3]; // Multipart upload is not required. Upload the sanitized body as is
96476
+ , 2]; // Multipart upload is not required. Upload the sanitized body as is
96415
96477
 
96416
96478
  this.params.Body = this.body;
96417
96479
  putObjectCommand = new _aws_sdk_client_s3__WEBPACK_IMPORTED_MODULE_1__["PutObjectCommand"](this.params);
96418
- return [4
96419
- /*yield*/
96420
- , this._createNewS3Client(this.opts, this.emitter)];
96421
-
96422
- case 2:
96423
- s3 = _b.sent();
96424
96480
  return [2
96425
96481
  /*return*/
96426
- , s3.send(putObjectCommand)];
96482
+ , this.s3client.send(putObjectCommand)];
96427
96483
 
96428
- case 3:
96484
+ case 2:
96429
96485
  return [4
96430
96486
  /*yield*/
96431
96487
  , this.createMultiPartUpload()];
96432
96488
 
96433
- case 4:
96489
+ case 3:
96434
96490
  uploadId = _b.sent();
96435
96491
  numberOfPartsToUpload = Math.ceil(this.totalBytesToUpload / this.minPartSize);
96436
96492
  parts = this.createParts();
96437
96493
  start = 0;
96438
- _b.label = 5;
96494
+ _b.label = 4;
96439
96495
 
96440
- case 5:
96496
+ case 4:
96441
96497
  if (!(start < numberOfPartsToUpload)) return [3
96442
96498
  /*break*/
96443
- , 10];
96499
+ , 9];
96444
96500
  /** This first block will try to cancel the upload if the cancel
96445
96501
  * request came before any parts uploads have started.
96446
96502
  **/
@@ -96449,7 +96505,7 @@ function () {
96449
96505
  /*yield*/
96450
96506
  , this.checkIfUploadCancelled(uploadId)];
96451
96507
 
96452
- case 6:
96508
+ case 5:
96453
96509
  /** This first block will try to cancel the upload if the cancel
96454
96510
  * request came before any parts uploads have started.
96455
96511
  **/
@@ -96460,7 +96516,7 @@ function () {
96460
96516
  /*yield*/
96461
96517
  , this.uploadParts(uploadId, parts.slice(start, start + this.queueSize))];
96462
96518
 
96463
- case 7:
96519
+ case 6:
96464
96520
  // Upload as many as `queueSize` parts simultaneously
96465
96521
  _b.sent();
96466
96522
  /** Call cleanup a second time in case there were part upload requests
@@ -96472,21 +96528,21 @@ function () {
96472
96528
  /*yield*/
96473
96529
  , this.checkIfUploadCancelled(uploadId)];
96474
96530
 
96475
- case 8:
96531
+ case 7:
96476
96532
  /** Call cleanup a second time in case there were part upload requests
96477
96533
  * in flight. This is to ensure that all parts are cleaned up.
96478
96534
  */
96479
96535
  _b.sent();
96480
96536
 
96481
- _b.label = 9;
96537
+ _b.label = 8;
96482
96538
 
96483
- case 9:
96539
+ case 8:
96484
96540
  start += this.queueSize;
96485
96541
  return [3
96486
96542
  /*break*/
96487
- , 5];
96543
+ , 4];
96488
96544
 
96489
- case 10:
96545
+ case 9:
96490
96546
  parts.map(function (part) {
96491
96547
  _this.removeEventListener(part);
96492
96548
  });
@@ -96494,7 +96550,7 @@ function () {
96494
96550
  /*yield*/
96495
96551
  , this.finishMultiPartUpload(uploadId)];
96496
96552
 
96497
- case 11:
96553
+ case 10:
96498
96554
  // Step 3: Finalize the upload such that S3 can recreate the file
96499
96555
  return [2
96500
96556
  /*return*/
@@ -96512,7 +96568,7 @@ function () {
96512
96568
  parts.push({
96513
96569
  bodyPart: this.body.slice(bodyStart, bodyEnd),
96514
96570
  partNumber: parts.length + 1,
96515
- emitter: new events__WEBPACK_IMPORTED_MODULE_4__["EventEmitter"](),
96571
+ emitter: new events__WEBPACK_IMPORTED_MODULE_3__["EventEmitter"](),
96516
96572
  _lastUploadedBytes: 0
96517
96573
  });
96518
96574
  bodyStart += this.minPartSize;
@@ -96523,22 +96579,16 @@ function () {
96523
96579
 
96524
96580
  AWSS3ProviderManagedUpload.prototype.createMultiPartUpload = function () {
96525
96581
  return __awaiter(this, void 0, void 0, function () {
96526
- var createMultiPartUploadCommand, s3, response;
96582
+ var createMultiPartUploadCommand, response;
96527
96583
  return __generator(this, function (_a) {
96528
96584
  switch (_a.label) {
96529
96585
  case 0:
96530
96586
  createMultiPartUploadCommand = new _aws_sdk_client_s3__WEBPACK_IMPORTED_MODULE_1__["CreateMultipartUploadCommand"](this.params);
96531
96587
  return [4
96532
96588
  /*yield*/
96533
- , this._createNewS3Client(this.opts)];
96589
+ , this.s3client.send(createMultiPartUploadCommand)];
96534
96590
 
96535
96591
  case 1:
96536
- s3 = _a.sent();
96537
- return [4
96538
- /*yield*/
96539
- , s3.send(createMultiPartUploadCommand)];
96540
-
96541
- case 2:
96542
96592
  response = _a.sent();
96543
96593
  logger.debug(response.UploadId);
96544
96594
  return [2
@@ -96569,22 +96619,19 @@ function () {
96569
96619
  /*yield*/
96570
96620
  , Promise.all(parts.map(function (part) {
96571
96621
  return __awaiter(_this, void 0, void 0, function () {
96572
- var s3, _a, Key, Bucket, SSECustomerAlgorithm, SSECustomerKey, SSECustomerKeyMD5;
96622
+ var options, _a, Key, Bucket, SSECustomerAlgorithm, SSECustomerKey, SSECustomerKeyMD5, res;
96573
96623
 
96574
96624
  return __generator(this, function (_b) {
96575
96625
  switch (_b.label) {
96576
96626
  case 0:
96577
96627
  this.setupEventListener(part);
96628
+ options = {
96629
+ emitter: part.emitter
96630
+ };
96631
+ _a = this.params, Key = _a.Key, Bucket = _a.Bucket, SSECustomerAlgorithm = _a.SSECustomerAlgorithm, SSECustomerKey = _a.SSECustomerKey, SSECustomerKeyMD5 = _a.SSECustomerKeyMD5;
96578
96632
  return [4
96579
96633
  /*yield*/
96580
- , this._createNewS3Client(this.opts, part.emitter)];
96581
-
96582
- case 1:
96583
- s3 = _b.sent();
96584
- _a = this.params, Key = _a.Key, Bucket = _a.Bucket, SSECustomerAlgorithm = _a.SSECustomerAlgorithm, SSECustomerKey = _a.SSECustomerKey, SSECustomerKeyMD5 = _a.SSECustomerKeyMD5;
96585
- return [2
96586
- /*return*/
96587
- , s3.send(new _aws_sdk_client_s3__WEBPACK_IMPORTED_MODULE_1__["UploadPartCommand"](__assign(__assign(__assign({
96634
+ , this.s3client.send(new _aws_sdk_client_s3__WEBPACK_IMPORTED_MODULE_1__["UploadPartCommand"](__assign(__assign(__assign({
96588
96635
  PartNumber: part.partNumber,
96589
96636
  Body: part.bodyPart,
96590
96637
  UploadId: uploadId,
@@ -96596,7 +96643,13 @@ function () {
96596
96643
  SSECustomerKey: SSECustomerKey
96597
96644
  }), SSECustomerKeyMD5 && {
96598
96645
  SSECustomerKeyMD5: SSECustomerKeyMD5
96599
- })))];
96646
+ })), options)];
96647
+
96648
+ case 1:
96649
+ res = _b.sent();
96650
+ return [2
96651
+ /*return*/
96652
+ , res];
96600
96653
  }
96601
96654
  });
96602
96655
  });
@@ -96635,7 +96688,7 @@ function () {
96635
96688
 
96636
96689
  AWSS3ProviderManagedUpload.prototype.finishMultiPartUpload = function (uploadId) {
96637
96690
  return __awaiter(this, void 0, void 0, function () {
96638
- var input, completeUploadCommand, s3, data, error_2;
96691
+ var input, completeUploadCommand, data, error_2;
96639
96692
  return __generator(this, function (_a) {
96640
96693
  switch (_a.label) {
96641
96694
  case 0:
@@ -96648,28 +96701,22 @@ function () {
96648
96701
  }
96649
96702
  };
96650
96703
  completeUploadCommand = new _aws_sdk_client_s3__WEBPACK_IMPORTED_MODULE_1__["CompleteMultipartUploadCommand"](input);
96651
- return [4
96652
- /*yield*/
96653
- , this._createNewS3Client(this.opts)];
96704
+ _a.label = 1;
96654
96705
 
96655
96706
  case 1:
96656
- s3 = _a.sent();
96657
- _a.label = 2;
96658
-
96659
- case 2:
96660
- _a.trys.push([2, 4,, 5]);
96707
+ _a.trys.push([1, 3,, 4]);
96661
96708
 
96662
96709
  return [4
96663
96710
  /*yield*/
96664
- , s3.send(completeUploadCommand)];
96711
+ , this.s3client.send(completeUploadCommand)];
96665
96712
 
96666
- case 3:
96713
+ case 2:
96667
96714
  data = _a.sent();
96668
96715
  return [2
96669
96716
  /*return*/
96670
96717
  , data.Key];
96671
96718
 
96672
- case 4:
96719
+ case 3:
96673
96720
  error_2 = _a.sent();
96674
96721
  logger.error('error happened while finishing the upload. Cancelling the multipart upload', error_2);
96675
96722
  this.cancelUpload();
@@ -96677,7 +96724,7 @@ function () {
96677
96724
  /*return*/
96678
96725
  ];
96679
96726
 
96680
- case 5:
96727
+ case 4:
96681
96728
  return [2
96682
96729
  /*return*/
96683
96730
  ];
@@ -96737,7 +96784,7 @@ function () {
96737
96784
 
96738
96785
  AWSS3ProviderManagedUpload.prototype.cleanup = function (uploadId) {
96739
96786
  return __awaiter(this, void 0, void 0, function () {
96740
- var input, s3, data;
96787
+ var input, data;
96741
96788
  return __generator(this, function (_a) {
96742
96789
  switch (_a.label) {
96743
96790
  case 0:
@@ -96753,22 +96800,16 @@ function () {
96753
96800
  };
96754
96801
  return [4
96755
96802
  /*yield*/
96756
- , this._createNewS3Client(this.opts)];
96803
+ , this.s3client.send(new _aws_sdk_client_s3__WEBPACK_IMPORTED_MODULE_1__["AbortMultipartUploadCommand"](input))];
96757
96804
 
96758
96805
  case 1:
96759
- s3 = _a.sent();
96760
- return [4
96761
- /*yield*/
96762
- , s3.send(new _aws_sdk_client_s3__WEBPACK_IMPORTED_MODULE_1__["AbortMultipartUploadCommand"](input))];
96763
-
96764
- case 2:
96765
96806
  _a.sent();
96766
96807
 
96767
96808
  return [4
96768
96809
  /*yield*/
96769
- , s3.send(new _aws_sdk_client_s3__WEBPACK_IMPORTED_MODULE_1__["ListPartsCommand"](input))];
96810
+ , this.s3client.send(new _aws_sdk_client_s3__WEBPACK_IMPORTED_MODULE_1__["ListPartsCommand"](input))];
96770
96811
 
96771
- case 3:
96812
+ case 2:
96772
96813
  data = _a.sent();
96773
96814
 
96774
96815
  if (data && data.Parts && data.Parts.length > 0) {
@@ -96861,68 +96902,12 @@ function () {
96861
96902
 
96862
96903
  return false;
96863
96904
  };
96864
- /**
96865
- * @private
96866
- * creates an S3 client with new V3 aws sdk
96867
- */
96868
-
96869
96905
 
96870
96906
  AWSS3ProviderManagedUpload.prototype._createNewS3Client = function (config, emitter) {
96871
- return __awaiter(this, void 0, void 0, function () {
96872
- var credentials, region, dangerouslyConnectToHttpEndpointForTesting, cancelTokenSource, useAccelerateEndpoint, localTestingConfig, client;
96873
- return __generator(this, function (_a) {
96874
- switch (_a.label) {
96875
- case 0:
96876
- return [4
96877
- /*yield*/
96878
- , this._getCredentials()];
96879
-
96880
- case 1:
96881
- credentials = _a.sent();
96882
- region = config.region, dangerouslyConnectToHttpEndpointForTesting = config.dangerouslyConnectToHttpEndpointForTesting, cancelTokenSource = config.cancelTokenSource, useAccelerateEndpoint = config.useAccelerateEndpoint;
96883
- localTestingConfig = {};
96884
-
96885
- if (dangerouslyConnectToHttpEndpointForTesting) {
96886
- localTestingConfig = {
96887
- endpoint: _common_StorageConstants__WEBPACK_IMPORTED_MODULE_3__["localTestingStorageEndpoint"],
96888
- tls: false,
96889
- bucketEndpoint: false,
96890
- forcePathStyle: true
96891
- };
96892
- }
96893
-
96894
- client = new _aws_sdk_client_s3__WEBPACK_IMPORTED_MODULE_1__["S3Client"](__assign(__assign({
96895
- region: region,
96896
- credentials: credentials,
96897
- useAccelerateEndpoint: useAccelerateEndpoint
96898
- }, localTestingConfig), {
96899
- requestHandler: new _axios_http_handler__WEBPACK_IMPORTED_MODULE_2__["AxiosHttpHandler"]({}, emitter, cancelTokenSource),
96900
- customUserAgent: Object(_aws_amplify_core__WEBPACK_IMPORTED_MODULE_0__["getAmplifyUserAgent"])()
96901
- }));
96902
- client.middlewareStack.remove(_common_StorageConstants__WEBPACK_IMPORTED_MODULE_3__["SET_CONTENT_LENGTH_HEADER"]);
96903
- client.middlewareStack.add(Object(_common_S3ClientUtils__WEBPACK_IMPORTED_MODULE_5__["createPrefixMiddleware"])(this.opts, this.params.Key), _common_S3ClientUtils__WEBPACK_IMPORTED_MODULE_5__["prefixMiddlewareOptions"]);
96904
- return [2
96905
- /*return*/
96906
- , client];
96907
- }
96908
- });
96909
- });
96910
- };
96911
- /**
96912
- * @private
96913
- */
96914
-
96915
-
96916
- AWSS3ProviderManagedUpload.prototype._getCredentials = function () {
96917
- return _aws_amplify_core__WEBPACK_IMPORTED_MODULE_0__["Credentials"].get().then(function (credentials) {
96918
- if (!credentials) return false;
96919
- var cred = _aws_amplify_core__WEBPACK_IMPORTED_MODULE_0__["Credentials"].shear(credentials);
96920
- logger.debug('set credentials for storage', cred);
96921
- return cred;
96922
- })["catch"](function (error) {
96923
- logger.warn('ensure credentials error', error);
96924
- return false;
96925
- });
96907
+ var s3client = Object(_common_S3ClientUtils__WEBPACK_IMPORTED_MODULE_4__["createS3Client"])(config, emitter);
96908
+ s3client.middlewareStack.add(Object(_common_S3ClientUtils__WEBPACK_IMPORTED_MODULE_4__["createPrefixMiddleware"])(this.opts, this.params.Key), _common_S3ClientUtils__WEBPACK_IMPORTED_MODULE_4__["prefixMiddlewareOptions"]);
96909
+ s3client.middlewareStack.add(Object(_common_S3ClientUtils__WEBPACK_IMPORTED_MODULE_4__["autoAdjustClockskewMiddleware"])(s3client.config), _common_S3ClientUtils__WEBPACK_IMPORTED_MODULE_4__["autoAdjustClockskewMiddlewareOptions"]);
96910
+ return s3client;
96926
96911
  };
96927
96912
 
96928
96913
  return AWSS3ProviderManagedUpload;
@@ -98041,8 +98026,10 @@ function () {
98041
98026
  };
98042
98027
 
98043
98028
  AxiosHttpHandler.prototype.handle = function (request, options) {
98044
- var requestTimeoutInMs = this.httpOptions.requestTimeout;
98045
- var emitter = this.emitter;
98029
+ var requestTimeoutInMs = this.httpOptions.requestTimeout; // prioritize the call specific event emitter, this is useful for multipart upload as each individual parts has
98030
+ // their own event emitter, without having to create s3client for every individual calls.
98031
+
98032
+ var emitter = options.emitter || this.emitter;
98046
98033
  var path = request.path;
98047
98034
 
98048
98035
  if (request.query) {