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

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.
@@ -94499,9 +94499,7 @@ function () {
94499
94499
  };
94500
94500
 
94501
94501
  Storage.prototype.copy = function (src, dest, config) {
94502
- var _a;
94503
-
94504
- var provider = ((_a = config) === null || _a === void 0 ? void 0 : _a.provider) || DEFAULT_PROVIDER;
94502
+ var provider = (config === null || config === void 0 ? void 0 : config.provider) || DEFAULT_PROVIDER;
94505
94503
 
94506
94504
  var prov = this._pluggables.find(function (pluggable) {
94507
94505
  return pluggable.getProviderName() === provider;
@@ -94526,9 +94524,7 @@ function () {
94526
94524
  };
94527
94525
 
94528
94526
  Storage.prototype.get = function (key, config) {
94529
- var _a;
94530
-
94531
- var provider = ((_a = config) === null || _a === void 0 ? void 0 : _a.provider) || DEFAULT_PROVIDER;
94527
+ var provider = (config === null || config === void 0 ? void 0 : config.provider) || DEFAULT_PROVIDER;
94532
94528
 
94533
94529
  var prov = this._pluggables.find(function (pluggable) {
94534
94530
  return pluggable.getProviderName() === provider;
@@ -94552,9 +94548,7 @@ function () {
94552
94548
  };
94553
94549
 
94554
94550
  Storage.prototype.put = function (key, object, config) {
94555
- var _a;
94556
-
94557
- var provider = ((_a = config) === null || _a === void 0 ? void 0 : _a.provider) || DEFAULT_PROVIDER;
94551
+ var provider = (config === null || config === void 0 ? void 0 : config.provider) || DEFAULT_PROVIDER;
94558
94552
 
94559
94553
  var prov = this._pluggables.find(function (pluggable) {
94560
94554
  return pluggable.getProviderName() === provider;
@@ -94578,9 +94572,7 @@ function () {
94578
94572
  };
94579
94573
 
94580
94574
  Storage.prototype.remove = function (key, config) {
94581
- var _a;
94582
-
94583
- var provider = ((_a = config) === null || _a === void 0 ? void 0 : _a.provider) || DEFAULT_PROVIDER;
94575
+ var provider = (config === null || config === void 0 ? void 0 : config.provider) || DEFAULT_PROVIDER;
94584
94576
 
94585
94577
  var prov = this._pluggables.find(function (pluggable) {
94586
94578
  return pluggable.getProviderName() === provider;
@@ -94595,9 +94587,7 @@ function () {
94595
94587
  };
94596
94588
 
94597
94589
  Storage.prototype.list = function (path, config) {
94598
- var _a;
94599
-
94600
- var provider = ((_a = config) === null || _a === void 0 ? void 0 : _a.provider) || DEFAULT_PROVIDER;
94590
+ var provider = (config === null || config === void 0 ? void 0 : config.provider) || DEFAULT_PROVIDER;
94601
94591
 
94602
94592
  var prov = this._pluggables.find(function (pluggable) {
94603
94593
  return pluggable.getProviderName() === provider;
@@ -94627,16 +94617,23 @@ function () {
94627
94617
  /*!**************************************************!*\
94628
94618
  !*** ../storage/lib-esm/common/S3ClientUtils.js ***!
94629
94619
  \**************************************************/
94630
- /*! exports provided: getPrefix, createPrefixMiddleware, prefixMiddlewareOptions */
94620
+ /*! exports provided: getPrefix, createPrefixMiddleware, autoAdjustClockskewMiddleware, autoAdjustClockskewMiddlewareOptions, prefixMiddlewareOptions, credentialsProvider, createS3Client */
94631
94621
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
94632
94622
 
94633
94623
  "use strict";
94634
94624
  __webpack_require__.r(__webpack_exports__);
94635
94625
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getPrefix", function() { return getPrefix; });
94636
94626
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "createPrefixMiddleware", function() { return createPrefixMiddleware; });
94627
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "autoAdjustClockskewMiddleware", function() { return autoAdjustClockskewMiddleware; });
94628
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "autoAdjustClockskewMiddlewareOptions", function() { return autoAdjustClockskewMiddlewareOptions; });
94637
94629
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "prefixMiddlewareOptions", function() { return prefixMiddlewareOptions; });
94630
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "credentialsProvider", function() { return credentialsProvider; });
94631
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "createS3Client", function() { return createS3Client; });
94638
94632
  /* harmony import */ var _aws_amplify_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @aws-amplify/core */ "@aws-amplify/core");
94639
94633
  /* harmony import */ var _aws_amplify_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_aws_amplify_core__WEBPACK_IMPORTED_MODULE_0__);
94634
+ /* 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");
94635
+ /* 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");
94636
+ /* harmony import */ var _StorageConstants__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./StorageConstants */ "../storage/lib-esm/common/StorageConstants.js");
94640
94637
  var __assign = undefined && undefined.__assign || function () {
94641
94638
  __assign = Object.assign || function (t) {
94642
94639
  for (var s, i = 1, n = arguments.length; i < n; i++) {
@@ -94797,6 +94794,15 @@ var __generator = undefined && undefined.__generator || function (thisArg, body)
94797
94794
  };
94798
94795
 
94799
94796
 
94797
+
94798
+
94799
+
94800
+ 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
94801
+
94802
+ var INVALID_CRED = {
94803
+ accessKeyId: '',
94804
+ secretAccessKey: ''
94805
+ };
94800
94806
  var getPrefix = function getPrefix(config) {
94801
94807
  var credentials = config.credentials,
94802
94808
  level = config.level,
@@ -94857,10 +94863,126 @@ var createPrefixMiddleware = function createPrefixMiddleware(opt, key) {
94857
94863
  };
94858
94864
  };
94859
94865
  };
94866
+
94867
+ var isTimeSkewedError = function isTimeSkewedError(err) {
94868
+ return err.ServerTime && typeof err.Code === 'string' && err.Code === 'RequestTimeTooSkewed';
94869
+ }; // we want to take the S3Client config in parameter so we can modify it's systemClockOffset
94870
+
94871
+
94872
+ var autoAdjustClockskewMiddleware = function autoAdjustClockskewMiddleware(config) {
94873
+ return function (next, _context) {
94874
+ return function (args) {
94875
+ return __awaiter(void 0, void 0, void 0, function () {
94876
+ var err_1, serverDate;
94877
+ return __generator(this, function (_a) {
94878
+ switch (_a.label) {
94879
+ case 0:
94880
+ _a.trys.push([0, 2,, 3]);
94881
+
94882
+ return [4
94883
+ /*yield*/
94884
+ , next(args)];
94885
+
94886
+ case 1:
94887
+ return [2
94888
+ /*return*/
94889
+ , _a.sent()];
94890
+
94891
+ case 2:
94892
+ err_1 = _a.sent();
94893
+
94894
+ if (isTimeSkewedError(err_1)) {
94895
+ serverDate = new Date(err_1.ServerTime);
94896
+ config.systemClockOffset = serverDate.getTime() - Date.now();
94897
+ }
94898
+
94899
+ throw err_1;
94900
+
94901
+ case 3:
94902
+ return [2
94903
+ /*return*/
94904
+ ];
94905
+ }
94906
+ });
94907
+ });
94908
+ };
94909
+ };
94910
+ };
94911
+ var autoAdjustClockskewMiddlewareOptions = {
94912
+ step: 'finalizeRequest',
94913
+ name: 'autoAdjustClockskewMiddleware'
94914
+ };
94860
94915
  var prefixMiddlewareOptions = {
94861
94916
  step: 'initialize',
94862
94917
  name: 'addPrefixMiddleware'
94863
94918
  };
94919
+ var credentialsProvider = function credentialsProvider() {
94920
+ return __awaiter(void 0, void 0, void 0, function () {
94921
+ var credentials, cred, error_1;
94922
+ return __generator(this, function (_a) {
94923
+ switch (_a.label) {
94924
+ case 0:
94925
+ _a.trys.push([0, 2,, 3]);
94926
+
94927
+ return [4
94928
+ /*yield*/
94929
+ , _aws_amplify_core__WEBPACK_IMPORTED_MODULE_0__["Credentials"].get()];
94930
+
94931
+ case 1:
94932
+ credentials = _a.sent();
94933
+ if (!credentials) return [2
94934
+ /*return*/
94935
+ , INVALID_CRED];
94936
+ cred = _aws_amplify_core__WEBPACK_IMPORTED_MODULE_0__["Credentials"].shear(credentials);
94937
+ logger.debug('credentials provider get credentials', cred);
94938
+ return [2
94939
+ /*return*/
94940
+ , cred];
94941
+
94942
+ case 2:
94943
+ error_1 = _a.sent();
94944
+ logger.warn('credentials provider error', error_1);
94945
+ return [2
94946
+ /*return*/
94947
+ , INVALID_CRED];
94948
+
94949
+ case 3:
94950
+ return [2
94951
+ /*return*/
94952
+ ];
94953
+ }
94954
+ });
94955
+ });
94956
+ };
94957
+ var createS3Client = function createS3Client(config, emitter) {
94958
+ var region = config.region,
94959
+ cancelTokenSource = config.cancelTokenSource,
94960
+ dangerouslyConnectToHttpEndpointForTesting = config.dangerouslyConnectToHttpEndpointForTesting,
94961
+ useAccelerateEndpoint = config.useAccelerateEndpoint;
94962
+ var localTestingConfig = {};
94963
+
94964
+ if (dangerouslyConnectToHttpEndpointForTesting) {
94965
+ localTestingConfig = {
94966
+ endpoint: _StorageConstants__WEBPACK_IMPORTED_MODULE_3__["localTestingStorageEndpoint"],
94967
+ tls: false,
94968
+ bucketEndpoint: false,
94969
+ forcePathStyle: true
94970
+ };
94971
+ }
94972
+
94973
+ var s3client = new _aws_sdk_client_s3__WEBPACK_IMPORTED_MODULE_1__["S3Client"](__assign(__assign({
94974
+ region: region,
94975
+ // Using provider instead of a static credentials, so that if an upload task was in progress, but credentials gets
94976
+ // changed or invalidated (e.g user signed out), the subsequent requests will fail.
94977
+ credentials: credentialsProvider,
94978
+ customUserAgent: Object(_aws_amplify_core__WEBPACK_IMPORTED_MODULE_0__["getAmplifyUserAgent"])()
94979
+ }, localTestingConfig), {
94980
+ requestHandler: new _providers_axios_http_handler__WEBPACK_IMPORTED_MODULE_2__["AxiosHttpHandler"]({}, emitter, cancelTokenSource),
94981
+ useAccelerateEndpoint: useAccelerateEndpoint
94982
+ }));
94983
+ s3client.middlewareStack.remove(_StorageConstants__WEBPACK_IMPORTED_MODULE_3__["SET_CONTENT_LENGTH_HEADER"]);
94984
+ return s3client;
94985
+ };
94864
94986
 
94865
94987
  /***/ }),
94866
94988
 
@@ -95304,12 +95426,7 @@ var __generator = undefined && undefined.__generator || function (thisArg, body)
95304
95426
 
95305
95427
  var logger = new _aws_amplify_core__WEBPACK_IMPORTED_MODULE_0__["ConsoleLogger"]('AWSS3Provider');
95306
95428
  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
- };
95429
+ var DEFAULT_PRESIGN_EXPIRATION = 900;
95313
95430
  /**
95314
95431
  * Provide storage methods to use AWS S3
95315
95432
  */
@@ -95529,7 +95646,6 @@ function () {
95529
95646
 
95530
95647
  if (acl) params.ACL = acl;
95531
95648
  s3 = this._createNewS3Client(opt);
95532
- s3.middlewareStack.remove(_common_StorageConstants__WEBPACK_IMPORTED_MODULE_11__["SET_CONTENT_LENGTH_HEADER"]);
95533
95649
  _c.label = 2;
95534
95650
 
95535
95651
  case 2:
@@ -96067,77 +96183,14 @@ function () {
96067
96183
  return publicPath;
96068
96184
  }
96069
96185
  };
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
96186
  /**
96110
96187
  * Creates an S3 client with new V3 aws sdk
96111
96188
  */
96112
96189
 
96113
96190
 
96114
96191
  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
- }));
96192
+ var s3client = Object(_common_S3ClientUtils__WEBPACK_IMPORTED_MODULE_8__["createS3Client"])(config, emitter);
96193
+ s3client.middlewareStack.add(Object(_common_S3ClientUtils__WEBPACK_IMPORTED_MODULE_8__["autoAdjustClockskewMiddleware"])(s3client.config), _common_S3ClientUtils__WEBPACK_IMPORTED_MODULE_8__["autoAdjustClockskewMiddlewareOptions"]);
96141
96194
  return s3client;
96142
96195
  };
96143
96196
 
@@ -96169,10 +96222,9 @@ __webpack_require__.r(__webpack_exports__);
96169
96222
  /* harmony import */ var _aws_amplify_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_aws_amplify_core__WEBPACK_IMPORTED_MODULE_0__);
96170
96223
  /* 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
96224
  /* 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");
96225
+ /* harmony import */ var events__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! events */ "../../node_modules/events/events.js");
96226
+ /* harmony import */ var events__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(events__WEBPACK_IMPORTED_MODULE_3__);
96227
+ /* harmony import */ var _common_S3ClientUtils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../common/S3ClientUtils */ "../storage/lib-esm/common/S3ClientUtils.js");
96176
96228
  function _typeof(obj) {
96177
96229
  "@babel/helpers - typeof";
96178
96230
 
@@ -96366,7 +96418,6 @@ var __generator = undefined && undefined.__generator || function (thisArg, body)
96366
96418
 
96367
96419
 
96368
96420
 
96369
-
96370
96421
  var logger = new _aws_amplify_core__WEBPACK_IMPORTED_MODULE_0__["ConsoleLogger"]('AWSS3ProviderManagedUpload');
96371
96422
 
96372
96423
  var AWSS3ProviderManagedUpload =
@@ -96390,11 +96441,12 @@ function () {
96390
96441
  this.params = params;
96391
96442
  this.opts = opts;
96392
96443
  this.emitter = emitter;
96444
+ this.s3client = this._createNewS3Client(opts, emitter);
96393
96445
  }
96394
96446
 
96395
96447
  AWSS3ProviderManagedUpload.prototype.upload = function () {
96396
96448
  return __awaiter(this, void 0, void 0, function () {
96397
- var _a, putObjectCommand, s3, uploadId, numberOfPartsToUpload, parts, start;
96449
+ var _a, putObjectCommand, uploadId, numberOfPartsToUpload, parts, start;
96398
96450
 
96399
96451
  var _this = this;
96400
96452
 
@@ -96411,36 +96463,30 @@ function () {
96411
96463
  this.totalBytesToUpload = this.byteLength(this.body);
96412
96464
  if (!(this.totalBytesToUpload <= this.minPartSize)) return [3
96413
96465
  /*break*/
96414
- , 3]; // Multipart upload is not required. Upload the sanitized body as is
96466
+ , 2]; // Multipart upload is not required. Upload the sanitized body as is
96415
96467
 
96416
96468
  this.params.Body = this.body;
96417
96469
  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
96470
  return [2
96425
96471
  /*return*/
96426
- , s3.send(putObjectCommand)];
96472
+ , this.s3client.send(putObjectCommand)];
96427
96473
 
96428
- case 3:
96474
+ case 2:
96429
96475
  return [4
96430
96476
  /*yield*/
96431
96477
  , this.createMultiPartUpload()];
96432
96478
 
96433
- case 4:
96479
+ case 3:
96434
96480
  uploadId = _b.sent();
96435
96481
  numberOfPartsToUpload = Math.ceil(this.totalBytesToUpload / this.minPartSize);
96436
96482
  parts = this.createParts();
96437
96483
  start = 0;
96438
- _b.label = 5;
96484
+ _b.label = 4;
96439
96485
 
96440
- case 5:
96486
+ case 4:
96441
96487
  if (!(start < numberOfPartsToUpload)) return [3
96442
96488
  /*break*/
96443
- , 10];
96489
+ , 9];
96444
96490
  /** This first block will try to cancel the upload if the cancel
96445
96491
  * request came before any parts uploads have started.
96446
96492
  **/
@@ -96449,7 +96495,7 @@ function () {
96449
96495
  /*yield*/
96450
96496
  , this.checkIfUploadCancelled(uploadId)];
96451
96497
 
96452
- case 6:
96498
+ case 5:
96453
96499
  /** This first block will try to cancel the upload if the cancel
96454
96500
  * request came before any parts uploads have started.
96455
96501
  **/
@@ -96460,7 +96506,7 @@ function () {
96460
96506
  /*yield*/
96461
96507
  , this.uploadParts(uploadId, parts.slice(start, start + this.queueSize))];
96462
96508
 
96463
- case 7:
96509
+ case 6:
96464
96510
  // Upload as many as `queueSize` parts simultaneously
96465
96511
  _b.sent();
96466
96512
  /** Call cleanup a second time in case there were part upload requests
@@ -96472,21 +96518,21 @@ function () {
96472
96518
  /*yield*/
96473
96519
  , this.checkIfUploadCancelled(uploadId)];
96474
96520
 
96475
- case 8:
96521
+ case 7:
96476
96522
  /** Call cleanup a second time in case there were part upload requests
96477
96523
  * in flight. This is to ensure that all parts are cleaned up.
96478
96524
  */
96479
96525
  _b.sent();
96480
96526
 
96481
- _b.label = 9;
96527
+ _b.label = 8;
96482
96528
 
96483
- case 9:
96529
+ case 8:
96484
96530
  start += this.queueSize;
96485
96531
  return [3
96486
96532
  /*break*/
96487
- , 5];
96533
+ , 4];
96488
96534
 
96489
- case 10:
96535
+ case 9:
96490
96536
  parts.map(function (part) {
96491
96537
  _this.removeEventListener(part);
96492
96538
  });
@@ -96494,7 +96540,7 @@ function () {
96494
96540
  /*yield*/
96495
96541
  , this.finishMultiPartUpload(uploadId)];
96496
96542
 
96497
- case 11:
96543
+ case 10:
96498
96544
  // Step 3: Finalize the upload such that S3 can recreate the file
96499
96545
  return [2
96500
96546
  /*return*/
@@ -96512,7 +96558,7 @@ function () {
96512
96558
  parts.push({
96513
96559
  bodyPart: this.body.slice(bodyStart, bodyEnd),
96514
96560
  partNumber: parts.length + 1,
96515
- emitter: new events__WEBPACK_IMPORTED_MODULE_4__["EventEmitter"](),
96561
+ emitter: new events__WEBPACK_IMPORTED_MODULE_3__["EventEmitter"](),
96516
96562
  _lastUploadedBytes: 0
96517
96563
  });
96518
96564
  bodyStart += this.minPartSize;
@@ -96523,22 +96569,16 @@ function () {
96523
96569
 
96524
96570
  AWSS3ProviderManagedUpload.prototype.createMultiPartUpload = function () {
96525
96571
  return __awaiter(this, void 0, void 0, function () {
96526
- var createMultiPartUploadCommand, s3, response;
96572
+ var createMultiPartUploadCommand, response;
96527
96573
  return __generator(this, function (_a) {
96528
96574
  switch (_a.label) {
96529
96575
  case 0:
96530
96576
  createMultiPartUploadCommand = new _aws_sdk_client_s3__WEBPACK_IMPORTED_MODULE_1__["CreateMultipartUploadCommand"](this.params);
96531
96577
  return [4
96532
96578
  /*yield*/
96533
- , this._createNewS3Client(this.opts)];
96579
+ , this.s3client.send(createMultiPartUploadCommand)];
96534
96580
 
96535
96581
  case 1:
96536
- s3 = _a.sent();
96537
- return [4
96538
- /*yield*/
96539
- , s3.send(createMultiPartUploadCommand)];
96540
-
96541
- case 2:
96542
96582
  response = _a.sent();
96543
96583
  logger.debug(response.UploadId);
96544
96584
  return [2
@@ -96569,22 +96609,19 @@ function () {
96569
96609
  /*yield*/
96570
96610
  , Promise.all(parts.map(function (part) {
96571
96611
  return __awaiter(_this, void 0, void 0, function () {
96572
- var s3, _a, Key, Bucket, SSECustomerAlgorithm, SSECustomerKey, SSECustomerKeyMD5;
96612
+ var options, _a, Key, Bucket, SSECustomerAlgorithm, SSECustomerKey, SSECustomerKeyMD5, res;
96573
96613
 
96574
96614
  return __generator(this, function (_b) {
96575
96615
  switch (_b.label) {
96576
96616
  case 0:
96577
96617
  this.setupEventListener(part);
96618
+ options = {
96619
+ emitter: part.emitter
96620
+ };
96621
+ _a = this.params, Key = _a.Key, Bucket = _a.Bucket, SSECustomerAlgorithm = _a.SSECustomerAlgorithm, SSECustomerKey = _a.SSECustomerKey, SSECustomerKeyMD5 = _a.SSECustomerKeyMD5;
96578
96622
  return [4
96579
96623
  /*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({
96624
+ , this.s3client.send(new _aws_sdk_client_s3__WEBPACK_IMPORTED_MODULE_1__["UploadPartCommand"](__assign(__assign(__assign({
96588
96625
  PartNumber: part.partNumber,
96589
96626
  Body: part.bodyPart,
96590
96627
  UploadId: uploadId,
@@ -96596,7 +96633,13 @@ function () {
96596
96633
  SSECustomerKey: SSECustomerKey
96597
96634
  }), SSECustomerKeyMD5 && {
96598
96635
  SSECustomerKeyMD5: SSECustomerKeyMD5
96599
- })))];
96636
+ })), options)];
96637
+
96638
+ case 1:
96639
+ res = _b.sent();
96640
+ return [2
96641
+ /*return*/
96642
+ , res];
96600
96643
  }
96601
96644
  });
96602
96645
  });
@@ -96635,7 +96678,7 @@ function () {
96635
96678
 
96636
96679
  AWSS3ProviderManagedUpload.prototype.finishMultiPartUpload = function (uploadId) {
96637
96680
  return __awaiter(this, void 0, void 0, function () {
96638
- var input, completeUploadCommand, s3, data, error_2;
96681
+ var input, completeUploadCommand, data, error_2;
96639
96682
  return __generator(this, function (_a) {
96640
96683
  switch (_a.label) {
96641
96684
  case 0:
@@ -96648,28 +96691,22 @@ function () {
96648
96691
  }
96649
96692
  };
96650
96693
  completeUploadCommand = new _aws_sdk_client_s3__WEBPACK_IMPORTED_MODULE_1__["CompleteMultipartUploadCommand"](input);
96651
- return [4
96652
- /*yield*/
96653
- , this._createNewS3Client(this.opts)];
96694
+ _a.label = 1;
96654
96695
 
96655
96696
  case 1:
96656
- s3 = _a.sent();
96657
- _a.label = 2;
96658
-
96659
- case 2:
96660
- _a.trys.push([2, 4,, 5]);
96697
+ _a.trys.push([1, 3,, 4]);
96661
96698
 
96662
96699
  return [4
96663
96700
  /*yield*/
96664
- , s3.send(completeUploadCommand)];
96701
+ , this.s3client.send(completeUploadCommand)];
96665
96702
 
96666
- case 3:
96703
+ case 2:
96667
96704
  data = _a.sent();
96668
96705
  return [2
96669
96706
  /*return*/
96670
96707
  , data.Key];
96671
96708
 
96672
- case 4:
96709
+ case 3:
96673
96710
  error_2 = _a.sent();
96674
96711
  logger.error('error happened while finishing the upload. Cancelling the multipart upload', error_2);
96675
96712
  this.cancelUpload();
@@ -96677,7 +96714,7 @@ function () {
96677
96714
  /*return*/
96678
96715
  ];
96679
96716
 
96680
- case 5:
96717
+ case 4:
96681
96718
  return [2
96682
96719
  /*return*/
96683
96720
  ];
@@ -96737,7 +96774,7 @@ function () {
96737
96774
 
96738
96775
  AWSS3ProviderManagedUpload.prototype.cleanup = function (uploadId) {
96739
96776
  return __awaiter(this, void 0, void 0, function () {
96740
- var input, s3, data;
96777
+ var input, data;
96741
96778
  return __generator(this, function (_a) {
96742
96779
  switch (_a.label) {
96743
96780
  case 0:
@@ -96753,22 +96790,16 @@ function () {
96753
96790
  };
96754
96791
  return [4
96755
96792
  /*yield*/
96756
- , this._createNewS3Client(this.opts)];
96793
+ , this.s3client.send(new _aws_sdk_client_s3__WEBPACK_IMPORTED_MODULE_1__["AbortMultipartUploadCommand"](input))];
96757
96794
 
96758
96795
  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
96796
  _a.sent();
96766
96797
 
96767
96798
  return [4
96768
96799
  /*yield*/
96769
- , s3.send(new _aws_sdk_client_s3__WEBPACK_IMPORTED_MODULE_1__["ListPartsCommand"](input))];
96800
+ , this.s3client.send(new _aws_sdk_client_s3__WEBPACK_IMPORTED_MODULE_1__["ListPartsCommand"](input))];
96770
96801
 
96771
- case 3:
96802
+ case 2:
96772
96803
  data = _a.sent();
96773
96804
 
96774
96805
  if (data && data.Parts && data.Parts.length > 0) {
@@ -96861,68 +96892,12 @@ function () {
96861
96892
 
96862
96893
  return false;
96863
96894
  };
96864
- /**
96865
- * @private
96866
- * creates an S3 client with new V3 aws sdk
96867
- */
96868
-
96869
96895
 
96870
96896
  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
- });
96897
+ var s3client = Object(_common_S3ClientUtils__WEBPACK_IMPORTED_MODULE_4__["createS3Client"])(config, emitter);
96898
+ s3client.middlewareStack.add(Object(_common_S3ClientUtils__WEBPACK_IMPORTED_MODULE_4__["createPrefixMiddleware"])(this.opts, this.params.Key), _common_S3ClientUtils__WEBPACK_IMPORTED_MODULE_4__["prefixMiddlewareOptions"]);
96899
+ s3client.middlewareStack.add(Object(_common_S3ClientUtils__WEBPACK_IMPORTED_MODULE_4__["autoAdjustClockskewMiddleware"])(s3client.config), _common_S3ClientUtils__WEBPACK_IMPORTED_MODULE_4__["autoAdjustClockskewMiddlewareOptions"]);
96900
+ return s3client;
96926
96901
  };
96927
96902
 
96928
96903
  return AWSS3ProviderManagedUpload;
@@ -98041,8 +98016,10 @@ function () {
98041
98016
  };
98042
98017
 
98043
98018
  AxiosHttpHandler.prototype.handle = function (request, options) {
98044
- var requestTimeoutInMs = this.httpOptions.requestTimeout;
98045
- var emitter = this.emitter;
98019
+ var requestTimeoutInMs = this.httpOptions.requestTimeout; // prioritize the call specific event emitter, this is useful for multipart upload as each individual parts has
98020
+ // their own event emitter, without having to create s3client for every individual calls.
98021
+
98022
+ var emitter = options.emitter || this.emitter;
98046
98023
  var path = request.path;
98047
98024
 
98048
98025
  if (request.query) {