@aws-amplify/predictions 4.0.22 → 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.
@@ -91828,6 +91828,8 @@ function Parser(options) {
91828
91828
  this.replaceCDATAstr = replaceCDATAstr;
91829
91829
  this.replaceCDATAarr = replaceCDATAarr;
91830
91830
 
91831
+ this.processTextOrObjNode = processTextOrObjNode
91832
+
91831
91833
  if (this.options.format) {
91832
91834
  this.indentate = indentate;
91833
91835
  this.tagEndChar = '>\n';
@@ -91864,10 +91866,7 @@ Parser.prototype.parse = function(jObj) {
91864
91866
  Parser.prototype.j2x = function(jObj, level) {
91865
91867
  let attrStr = '';
91866
91868
  let val = '';
91867
- const keys = Object.keys(jObj);
91868
- const len = keys.length;
91869
- for (let i = 0; i < len; i++) {
91870
- const key = keys[i];
91869
+ for (let key in jObj) {
91871
91870
  if (typeof jObj[key] === 'undefined') {
91872
91871
  // supress undefined node
91873
91872
  } else if (jObj[key] === null) {
@@ -91916,8 +91915,7 @@ Parser.prototype.j2x = function(jObj, level) {
91916
91915
  } else if (item === null) {
91917
91916
  val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;
91918
91917
  } else if (typeof item === 'object') {
91919
- const result = this.j2x(item, level + 1);
91920
- val += this.buildObjNode(result.val, key, result.attrStr, level);
91918
+ val += this.processTextOrObjNode(item, key, level)
91921
91919
  } else {
91922
91920
  val += this.buildTextNode(item, key, '', level);
91923
91921
  }
@@ -91932,14 +91930,22 @@ Parser.prototype.j2x = function(jObj, level) {
91932
91930
  attrStr += ' ' + Ks[j] + '="' + this.options.attrValueProcessor('' + jObj[key][Ks[j]]) + '"';
91933
91931
  }
91934
91932
  } else {
91935
- const result = this.j2x(jObj[key], level + 1);
91936
- val += this.buildObjNode(result.val, key, result.attrStr, level);
91933
+ val += this.processTextOrObjNode(jObj[key], key, level)
91937
91934
  }
91938
91935
  }
91939
91936
  }
91940
91937
  return {attrStr: attrStr, val: val};
91941
91938
  };
91942
91939
 
91940
+ function processTextOrObjNode (object, key, level) {
91941
+ const result = this.j2x(object, level + 1);
91942
+ if (object[this.options.textNodeName] !== undefined && Object.keys(object).length === 1) {
91943
+ return this.buildTextNode(result.val, key, result.attrStr, level);
91944
+ } else {
91945
+ return this.buildObjNode(result.val, key, result.attrStr, level);
91946
+ }
91947
+ }
91948
+
91943
91949
  function replaceCDATAstr(str, cdata) {
91944
91950
  str = this.options.tagValueProcessor('' + str);
91945
91951
  if (this.options.cdataPositionChar === '' || str === '') {
@@ -91962,7 +91968,7 @@ function replaceCDATAarr(str, cdata) {
91962
91968
  }
91963
91969
 
91964
91970
  function buildObjectNode(val, key, attrStr, level) {
91965
- if (attrStr && !val.includes('<')) {
91971
+ if (attrStr && val.indexOf('<') === -1) {
91966
91972
  return (
91967
91973
  this.indentate(level) +
91968
91974
  '<' +
@@ -94621,16 +94627,23 @@ function () {
94621
94627
  /*!**************************************************!*\
94622
94628
  !*** ../storage/lib-esm/common/S3ClientUtils.js ***!
94623
94629
  \**************************************************/
94624
- /*! exports provided: getPrefix, createPrefixMiddleware, prefixMiddlewareOptions */
94630
+ /*! exports provided: getPrefix, createPrefixMiddleware, autoAdjustClockskewMiddleware, autoAdjustClockskewMiddlewareOptions, prefixMiddlewareOptions, credentialsProvider, createS3Client */
94625
94631
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
94626
94632
 
94627
94633
  "use strict";
94628
94634
  __webpack_require__.r(__webpack_exports__);
94629
94635
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getPrefix", function() { return getPrefix; });
94630
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; });
94631
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; });
94632
94642
  /* harmony import */ var _aws_amplify_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @aws-amplify/core */ "@aws-amplify/core");
94633
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");
94634
94647
  var __assign = undefined && undefined.__assign || function () {
94635
94648
  __assign = Object.assign || function (t) {
94636
94649
  for (var s, i = 1, n = arguments.length; i < n; i++) {
@@ -94791,6 +94804,15 @@ var __generator = undefined && undefined.__generator || function (thisArg, body)
94791
94804
  };
94792
94805
 
94793
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
+ };
94794
94816
  var getPrefix = function getPrefix(config) {
94795
94817
  var credentials = config.credentials,
94796
94818
  level = config.level,
@@ -94851,10 +94873,126 @@ var createPrefixMiddleware = function createPrefixMiddleware(opt, key) {
94851
94873
  };
94852
94874
  };
94853
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
+ };
94854
94925
  var prefixMiddlewareOptions = {
94855
94926
  step: 'initialize',
94856
94927
  name: 'addPrefixMiddleware'
94857
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
+ };
94858
94996
 
94859
94997
  /***/ }),
94860
94998
 
@@ -95298,12 +95436,7 @@ var __generator = undefined && undefined.__generator || function (thisArg, body)
95298
95436
 
95299
95437
  var logger = new _aws_amplify_core__WEBPACK_IMPORTED_MODULE_0__["ConsoleLogger"]('AWSS3Provider');
95300
95438
  var DEFAULT_STORAGE_LEVEL = 'public';
95301
- var DEFAULT_PRESIGN_EXPIRATION = 900; // placeholder credentials in order to satisfy type requirement, always results in 403 when used
95302
-
95303
- var INVALID_CRED = {
95304
- accessKeyId: '',
95305
- secretAccessKey: ''
95306
- };
95439
+ var DEFAULT_PRESIGN_EXPIRATION = 900;
95307
95440
  /**
95308
95441
  * Provide storage methods to use AWS S3
95309
95442
  */
@@ -95523,7 +95656,6 @@ function () {
95523
95656
 
95524
95657
  if (acl) params.ACL = acl;
95525
95658
  s3 = this._createNewS3Client(opt);
95526
- s3.middlewareStack.remove(_common_StorageConstants__WEBPACK_IMPORTED_MODULE_11__["SET_CONTENT_LENGTH_HEADER"]);
95527
95659
  _c.label = 2;
95528
95660
 
95529
95661
  case 2:
@@ -96061,74 +96193,14 @@ function () {
96061
96193
  return publicPath;
96062
96194
  }
96063
96195
  };
96064
-
96065
- AWSS3Provider.prototype._credentialsProvider = function () {
96066
- return __awaiter(this, void 0, void 0, function () {
96067
- var credentials, cred, error_7;
96068
- return __generator(this, function (_a) {
96069
- switch (_a.label) {
96070
- case 0:
96071
- _a.trys.push([0, 2,, 3]);
96072
-
96073
- return [4
96074
- /*yield*/
96075
- , _aws_amplify_core__WEBPACK_IMPORTED_MODULE_0__["Credentials"].get()];
96076
-
96077
- case 1:
96078
- credentials = _a.sent();
96079
- if (!credentials) return [2
96080
- /*return*/
96081
- , INVALID_CRED];
96082
- cred = _aws_amplify_core__WEBPACK_IMPORTED_MODULE_0__["Credentials"].shear(credentials);
96083
- logger.debug('credentials provider get credentials', cred);
96084
- return [2
96085
- /*return*/
96086
- , cred];
96087
-
96088
- case 2:
96089
- error_7 = _a.sent();
96090
- logger.warn('credentials provider error', error_7);
96091
- return [2
96092
- /*return*/
96093
- , INVALID_CRED];
96094
-
96095
- case 3:
96096
- return [2
96097
- /*return*/
96098
- ];
96099
- }
96100
- });
96101
- });
96102
- };
96103
96196
  /**
96104
96197
  * Creates an S3 client with new V3 aws sdk
96105
96198
  */
96106
96199
 
96107
96200
 
96108
96201
  AWSS3Provider.prototype._createNewS3Client = function (config, emitter) {
96109
- var region = config.region,
96110
- cancelTokenSource = config.cancelTokenSource,
96111
- dangerouslyConnectToHttpEndpointForTesting = config.dangerouslyConnectToHttpEndpointForTesting;
96112
- var localTestingConfig = {};
96113
-
96114
- if (dangerouslyConnectToHttpEndpointForTesting) {
96115
- localTestingConfig = {
96116
- endpoint: _common_StorageConstants__WEBPACK_IMPORTED_MODULE_11__["localTestingStorageEndpoint"],
96117
- tls: false,
96118
- bucketEndpoint: false,
96119
- forcePathStyle: true
96120
- };
96121
- }
96122
-
96123
- var s3client = new _aws_sdk_client_s3__WEBPACK_IMPORTED_MODULE_1__["S3Client"](__assign(__assign({
96124
- region: region,
96125
- // Using provider instead of a static credentials, so that if an upload task was in progress, but credentials gets
96126
- // changed or invalidated (e.g user signed out), the subsequent requests will fail.
96127
- credentials: this._credentialsProvider,
96128
- customUserAgent: Object(_aws_amplify_core__WEBPACK_IMPORTED_MODULE_0__["getAmplifyUserAgent"])()
96129
- }, localTestingConfig), {
96130
- requestHandler: new _axios_http_handler__WEBPACK_IMPORTED_MODULE_5__["AxiosHttpHandler"]({}, emitter, cancelTokenSource)
96131
- }));
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"]);
96132
96204
  return s3client;
96133
96205
  };
96134
96206
 
@@ -96160,10 +96232,9 @@ __webpack_require__.r(__webpack_exports__);
96160
96232
  /* harmony import */ var _aws_amplify_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_aws_amplify_core__WEBPACK_IMPORTED_MODULE_0__);
96161
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");
96162
96234
  /* harmony import */ var _axios_http_handler__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./axios-http-handler */ "../storage/lib-esm/providers/axios-http-handler.js");
96163
- /* harmony import */ var _common_StorageConstants__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../common/StorageConstants */ "../storage/lib-esm/common/StorageConstants.js");
96164
- /* harmony import */ var events__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! events */ "../../node_modules/events/events.js");
96165
- /* harmony import */ var events__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(events__WEBPACK_IMPORTED_MODULE_4__);
96166
- /* 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");
96167
96238
  function _typeof(obj) {
96168
96239
  "@babel/helpers - typeof";
96169
96240
 
@@ -96357,7 +96428,6 @@ var __generator = undefined && undefined.__generator || function (thisArg, body)
96357
96428
 
96358
96429
 
96359
96430
 
96360
-
96361
96431
  var logger = new _aws_amplify_core__WEBPACK_IMPORTED_MODULE_0__["ConsoleLogger"]('AWSS3ProviderManagedUpload');
96362
96432
 
96363
96433
  var AWSS3ProviderManagedUpload =
@@ -96381,11 +96451,12 @@ function () {
96381
96451
  this.params = params;
96382
96452
  this.opts = opts;
96383
96453
  this.emitter = emitter;
96454
+ this.s3client = this._createNewS3Client(opts, emitter);
96384
96455
  }
96385
96456
 
96386
96457
  AWSS3ProviderManagedUpload.prototype.upload = function () {
96387
96458
  return __awaiter(this, void 0, void 0, function () {
96388
- var _a, putObjectCommand, s3, uploadId, numberOfPartsToUpload, parts, start;
96459
+ var _a, putObjectCommand, uploadId, numberOfPartsToUpload, parts, start;
96389
96460
 
96390
96461
  var _this = this;
96391
96462
 
@@ -96402,36 +96473,30 @@ function () {
96402
96473
  this.totalBytesToUpload = this.byteLength(this.body);
96403
96474
  if (!(this.totalBytesToUpload <= this.minPartSize)) return [3
96404
96475
  /*break*/
96405
- , 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
96406
96477
 
96407
96478
  this.params.Body = this.body;
96408
96479
  putObjectCommand = new _aws_sdk_client_s3__WEBPACK_IMPORTED_MODULE_1__["PutObjectCommand"](this.params);
96409
- return [4
96410
- /*yield*/
96411
- , this._createNewS3Client(this.opts, this.emitter)];
96412
-
96413
- case 2:
96414
- s3 = _b.sent();
96415
96480
  return [2
96416
96481
  /*return*/
96417
- , s3.send(putObjectCommand)];
96482
+ , this.s3client.send(putObjectCommand)];
96418
96483
 
96419
- case 3:
96484
+ case 2:
96420
96485
  return [4
96421
96486
  /*yield*/
96422
96487
  , this.createMultiPartUpload()];
96423
96488
 
96424
- case 4:
96489
+ case 3:
96425
96490
  uploadId = _b.sent();
96426
96491
  numberOfPartsToUpload = Math.ceil(this.totalBytesToUpload / this.minPartSize);
96427
96492
  parts = this.createParts();
96428
96493
  start = 0;
96429
- _b.label = 5;
96494
+ _b.label = 4;
96430
96495
 
96431
- case 5:
96496
+ case 4:
96432
96497
  if (!(start < numberOfPartsToUpload)) return [3
96433
96498
  /*break*/
96434
- , 10];
96499
+ , 9];
96435
96500
  /** This first block will try to cancel the upload if the cancel
96436
96501
  * request came before any parts uploads have started.
96437
96502
  **/
@@ -96440,7 +96505,7 @@ function () {
96440
96505
  /*yield*/
96441
96506
  , this.checkIfUploadCancelled(uploadId)];
96442
96507
 
96443
- case 6:
96508
+ case 5:
96444
96509
  /** This first block will try to cancel the upload if the cancel
96445
96510
  * request came before any parts uploads have started.
96446
96511
  **/
@@ -96451,7 +96516,7 @@ function () {
96451
96516
  /*yield*/
96452
96517
  , this.uploadParts(uploadId, parts.slice(start, start + this.queueSize))];
96453
96518
 
96454
- case 7:
96519
+ case 6:
96455
96520
  // Upload as many as `queueSize` parts simultaneously
96456
96521
  _b.sent();
96457
96522
  /** Call cleanup a second time in case there were part upload requests
@@ -96463,21 +96528,21 @@ function () {
96463
96528
  /*yield*/
96464
96529
  , this.checkIfUploadCancelled(uploadId)];
96465
96530
 
96466
- case 8:
96531
+ case 7:
96467
96532
  /** Call cleanup a second time in case there were part upload requests
96468
96533
  * in flight. This is to ensure that all parts are cleaned up.
96469
96534
  */
96470
96535
  _b.sent();
96471
96536
 
96472
- _b.label = 9;
96537
+ _b.label = 8;
96473
96538
 
96474
- case 9:
96539
+ case 8:
96475
96540
  start += this.queueSize;
96476
96541
  return [3
96477
96542
  /*break*/
96478
- , 5];
96543
+ , 4];
96479
96544
 
96480
- case 10:
96545
+ case 9:
96481
96546
  parts.map(function (part) {
96482
96547
  _this.removeEventListener(part);
96483
96548
  });
@@ -96485,7 +96550,7 @@ function () {
96485
96550
  /*yield*/
96486
96551
  , this.finishMultiPartUpload(uploadId)];
96487
96552
 
96488
- case 11:
96553
+ case 10:
96489
96554
  // Step 3: Finalize the upload such that S3 can recreate the file
96490
96555
  return [2
96491
96556
  /*return*/
@@ -96503,7 +96568,7 @@ function () {
96503
96568
  parts.push({
96504
96569
  bodyPart: this.body.slice(bodyStart, bodyEnd),
96505
96570
  partNumber: parts.length + 1,
96506
- emitter: new events__WEBPACK_IMPORTED_MODULE_4__["EventEmitter"](),
96571
+ emitter: new events__WEBPACK_IMPORTED_MODULE_3__["EventEmitter"](),
96507
96572
  _lastUploadedBytes: 0
96508
96573
  });
96509
96574
  bodyStart += this.minPartSize;
@@ -96514,22 +96579,16 @@ function () {
96514
96579
 
96515
96580
  AWSS3ProviderManagedUpload.prototype.createMultiPartUpload = function () {
96516
96581
  return __awaiter(this, void 0, void 0, function () {
96517
- var createMultiPartUploadCommand, s3, response;
96582
+ var createMultiPartUploadCommand, response;
96518
96583
  return __generator(this, function (_a) {
96519
96584
  switch (_a.label) {
96520
96585
  case 0:
96521
96586
  createMultiPartUploadCommand = new _aws_sdk_client_s3__WEBPACK_IMPORTED_MODULE_1__["CreateMultipartUploadCommand"](this.params);
96522
96587
  return [4
96523
96588
  /*yield*/
96524
- , this._createNewS3Client(this.opts)];
96589
+ , this.s3client.send(createMultiPartUploadCommand)];
96525
96590
 
96526
96591
  case 1:
96527
- s3 = _a.sent();
96528
- return [4
96529
- /*yield*/
96530
- , s3.send(createMultiPartUploadCommand)];
96531
-
96532
- case 2:
96533
96592
  response = _a.sent();
96534
96593
  logger.debug(response.UploadId);
96535
96594
  return [2
@@ -96560,22 +96619,19 @@ function () {
96560
96619
  /*yield*/
96561
96620
  , Promise.all(parts.map(function (part) {
96562
96621
  return __awaiter(_this, void 0, void 0, function () {
96563
- var s3, _a, Key, Bucket, SSECustomerAlgorithm, SSECustomerKey, SSECustomerKeyMD5;
96622
+ var options, _a, Key, Bucket, SSECustomerAlgorithm, SSECustomerKey, SSECustomerKeyMD5, res;
96564
96623
 
96565
96624
  return __generator(this, function (_b) {
96566
96625
  switch (_b.label) {
96567
96626
  case 0:
96568
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;
96569
96632
  return [4
96570
96633
  /*yield*/
96571
- , this._createNewS3Client(this.opts, part.emitter)];
96572
-
96573
- case 1:
96574
- s3 = _b.sent();
96575
- _a = this.params, Key = _a.Key, Bucket = _a.Bucket, SSECustomerAlgorithm = _a.SSECustomerAlgorithm, SSECustomerKey = _a.SSECustomerKey, SSECustomerKeyMD5 = _a.SSECustomerKeyMD5;
96576
- return [2
96577
- /*return*/
96578
- , 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({
96579
96635
  PartNumber: part.partNumber,
96580
96636
  Body: part.bodyPart,
96581
96637
  UploadId: uploadId,
@@ -96587,7 +96643,13 @@ function () {
96587
96643
  SSECustomerKey: SSECustomerKey
96588
96644
  }), SSECustomerKeyMD5 && {
96589
96645
  SSECustomerKeyMD5: SSECustomerKeyMD5
96590
- })))];
96646
+ })), options)];
96647
+
96648
+ case 1:
96649
+ res = _b.sent();
96650
+ return [2
96651
+ /*return*/
96652
+ , res];
96591
96653
  }
96592
96654
  });
96593
96655
  });
@@ -96626,7 +96688,7 @@ function () {
96626
96688
 
96627
96689
  AWSS3ProviderManagedUpload.prototype.finishMultiPartUpload = function (uploadId) {
96628
96690
  return __awaiter(this, void 0, void 0, function () {
96629
- var input, completeUploadCommand, s3, data, error_2;
96691
+ var input, completeUploadCommand, data, error_2;
96630
96692
  return __generator(this, function (_a) {
96631
96693
  switch (_a.label) {
96632
96694
  case 0:
@@ -96639,28 +96701,22 @@ function () {
96639
96701
  }
96640
96702
  };
96641
96703
  completeUploadCommand = new _aws_sdk_client_s3__WEBPACK_IMPORTED_MODULE_1__["CompleteMultipartUploadCommand"](input);
96642
- return [4
96643
- /*yield*/
96644
- , this._createNewS3Client(this.opts)];
96704
+ _a.label = 1;
96645
96705
 
96646
96706
  case 1:
96647
- s3 = _a.sent();
96648
- _a.label = 2;
96649
-
96650
- case 2:
96651
- _a.trys.push([2, 4,, 5]);
96707
+ _a.trys.push([1, 3,, 4]);
96652
96708
 
96653
96709
  return [4
96654
96710
  /*yield*/
96655
- , s3.send(completeUploadCommand)];
96711
+ , this.s3client.send(completeUploadCommand)];
96656
96712
 
96657
- case 3:
96713
+ case 2:
96658
96714
  data = _a.sent();
96659
96715
  return [2
96660
96716
  /*return*/
96661
96717
  , data.Key];
96662
96718
 
96663
- case 4:
96719
+ case 3:
96664
96720
  error_2 = _a.sent();
96665
96721
  logger.error('error happened while finishing the upload. Cancelling the multipart upload', error_2);
96666
96722
  this.cancelUpload();
@@ -96668,7 +96724,7 @@ function () {
96668
96724
  /*return*/
96669
96725
  ];
96670
96726
 
96671
- case 5:
96727
+ case 4:
96672
96728
  return [2
96673
96729
  /*return*/
96674
96730
  ];
@@ -96728,7 +96784,7 @@ function () {
96728
96784
 
96729
96785
  AWSS3ProviderManagedUpload.prototype.cleanup = function (uploadId) {
96730
96786
  return __awaiter(this, void 0, void 0, function () {
96731
- var input, s3, data;
96787
+ var input, data;
96732
96788
  return __generator(this, function (_a) {
96733
96789
  switch (_a.label) {
96734
96790
  case 0:
@@ -96744,22 +96800,16 @@ function () {
96744
96800
  };
96745
96801
  return [4
96746
96802
  /*yield*/
96747
- , this._createNewS3Client(this.opts)];
96803
+ , this.s3client.send(new _aws_sdk_client_s3__WEBPACK_IMPORTED_MODULE_1__["AbortMultipartUploadCommand"](input))];
96748
96804
 
96749
96805
  case 1:
96750
- s3 = _a.sent();
96751
- return [4
96752
- /*yield*/
96753
- , s3.send(new _aws_sdk_client_s3__WEBPACK_IMPORTED_MODULE_1__["AbortMultipartUploadCommand"](input))];
96754
-
96755
- case 2:
96756
96806
  _a.sent();
96757
96807
 
96758
96808
  return [4
96759
96809
  /*yield*/
96760
- , 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))];
96761
96811
 
96762
- case 3:
96812
+ case 2:
96763
96813
  data = _a.sent();
96764
96814
 
96765
96815
  if (data && data.Parts && data.Parts.length > 0) {
@@ -96852,68 +96902,12 @@ function () {
96852
96902
 
96853
96903
  return false;
96854
96904
  };
96855
- /**
96856
- * @private
96857
- * creates an S3 client with new V3 aws sdk
96858
- */
96859
-
96860
96905
 
96861
96906
  AWSS3ProviderManagedUpload.prototype._createNewS3Client = function (config, emitter) {
96862
- return __awaiter(this, void 0, void 0, function () {
96863
- var credentials, region, dangerouslyConnectToHttpEndpointForTesting, cancelTokenSource, useAccelerateEndpoint, localTestingConfig, client;
96864
- return __generator(this, function (_a) {
96865
- switch (_a.label) {
96866
- case 0:
96867
- return [4
96868
- /*yield*/
96869
- , this._getCredentials()];
96870
-
96871
- case 1:
96872
- credentials = _a.sent();
96873
- region = config.region, dangerouslyConnectToHttpEndpointForTesting = config.dangerouslyConnectToHttpEndpointForTesting, cancelTokenSource = config.cancelTokenSource, useAccelerateEndpoint = config.useAccelerateEndpoint;
96874
- localTestingConfig = {};
96875
-
96876
- if (dangerouslyConnectToHttpEndpointForTesting) {
96877
- localTestingConfig = {
96878
- endpoint: _common_StorageConstants__WEBPACK_IMPORTED_MODULE_3__["localTestingStorageEndpoint"],
96879
- tls: false,
96880
- bucketEndpoint: false,
96881
- forcePathStyle: true
96882
- };
96883
- }
96884
-
96885
- client = new _aws_sdk_client_s3__WEBPACK_IMPORTED_MODULE_1__["S3Client"](__assign(__assign({
96886
- region: region,
96887
- credentials: credentials,
96888
- useAccelerateEndpoint: useAccelerateEndpoint
96889
- }, localTestingConfig), {
96890
- requestHandler: new _axios_http_handler__WEBPACK_IMPORTED_MODULE_2__["AxiosHttpHandler"]({}, emitter, cancelTokenSource),
96891
- customUserAgent: Object(_aws_amplify_core__WEBPACK_IMPORTED_MODULE_0__["getAmplifyUserAgent"])()
96892
- }));
96893
- client.middlewareStack.remove(_common_StorageConstants__WEBPACK_IMPORTED_MODULE_3__["SET_CONTENT_LENGTH_HEADER"]);
96894
- client.middlewareStack.add(Object(_common_S3ClientUtils__WEBPACK_IMPORTED_MODULE_5__["createPrefixMiddleware"])(this.opts, this.params.Key), _common_S3ClientUtils__WEBPACK_IMPORTED_MODULE_5__["prefixMiddlewareOptions"]);
96895
- return [2
96896
- /*return*/
96897
- , client];
96898
- }
96899
- });
96900
- });
96901
- };
96902
- /**
96903
- * @private
96904
- */
96905
-
96906
-
96907
- AWSS3ProviderManagedUpload.prototype._getCredentials = function () {
96908
- return _aws_amplify_core__WEBPACK_IMPORTED_MODULE_0__["Credentials"].get().then(function (credentials) {
96909
- if (!credentials) return false;
96910
- var cred = _aws_amplify_core__WEBPACK_IMPORTED_MODULE_0__["Credentials"].shear(credentials);
96911
- logger.debug('set credentials for storage', cred);
96912
- return cred;
96913
- })["catch"](function (error) {
96914
- logger.warn('ensure credentials error', error);
96915
- return false;
96916
- });
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;
96917
96911
  };
96918
96912
 
96919
96913
  return AWSS3ProviderManagedUpload;
@@ -98032,8 +98026,10 @@ function () {
98032
98026
  };
98033
98027
 
98034
98028
  AxiosHttpHandler.prototype.handle = function (request, options) {
98035
- var requestTimeoutInMs = this.httpOptions.requestTimeout;
98036
- 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;
98037
98033
  var path = request.path;
98038
98034
 
98039
98035
  if (request.query) {