@digipair/skill-s3 0.136.1 → 0.136.4

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.
@@ -1,14 +1,11 @@
1
- import { readFileSync } from 'fs';
2
- import { e as externalDataInterceptor } from './externalDataInterceptor.esm.js';
3
- import { s as setCredentialFeature, C as CredentialsProviderError } from './index.esm3.js';
4
- import './getSSOTokenFromFile.esm.js';
5
- import 'fs/promises';
6
- import 'crypto';
7
- import 'path';
1
+ import fs from 'fs/promises';
2
+ import { C as CredentialsProviderError, H as HttpRequest, b as parseRfc3339DateTime, d as sdkStreamMixin, N as NodeHttpHandler, s as setCredentialFeature } from './index.esm2.js';
8
3
  import 'buffer';
4
+ import 'path';
9
5
  import 'os';
10
6
  import 'node:fs/promises';
11
7
  import 'stream';
8
+ import 'crypto';
12
9
  import 'node:stream';
13
10
  import 'http';
14
11
  import 'https';
@@ -16,7 +13,47 @@ import 'process';
16
13
  import 'node:fs';
17
14
  import 'zlib';
18
15
 
19
- function asyncGeneratorStep$1(gen, resolve, reject, _next, _throw, key, arg) {
16
+ var ECS_CONTAINER_HOST = "169.254.170.2";
17
+ var EKS_CONTAINER_HOST_IPv4 = "169.254.170.23";
18
+ var EKS_CONTAINER_HOST_IPv6 = "[fd00:ec2::23]";
19
+ var checkUrl = function(url, logger) {
20
+ if (url.protocol === "https:") {
21
+ return;
22
+ }
23
+ if (url.hostname === ECS_CONTAINER_HOST || url.hostname === EKS_CONTAINER_HOST_IPv4 || url.hostname === EKS_CONTAINER_HOST_IPv6) {
24
+ return;
25
+ }
26
+ if (url.hostname.includes("[")) {
27
+ if (url.hostname === "[::1]" || url.hostname === "[0000:0000:0000:0000:0000:0000:0000:0001]") {
28
+ return;
29
+ }
30
+ } else {
31
+ if (url.hostname === "localhost") {
32
+ return;
33
+ }
34
+ var ipComponents = url.hostname.split(".");
35
+ var inRange = function(component) {
36
+ var num = parseInt(component, 10);
37
+ return 0 <= num && num <= 255;
38
+ };
39
+ if (ipComponents[0] === "127" && inRange(ipComponents[1]) && inRange(ipComponents[2]) && inRange(ipComponents[3]) && ipComponents.length === 4) {
40
+ return;
41
+ }
42
+ }
43
+ throw new CredentialsProviderError("URL not accepted. It must either be HTTPS or match one of the following:\n - loopback CIDR 127.0.0.0/8 or [::1/128]\n - ECS container host 169.254.170.2\n - EKS container host 169.254.170.23 or [fd00:ec2::23]", {
44
+ logger: logger
45
+ });
46
+ };
47
+
48
+ function _array_like_to_array(arr, len) {
49
+ if (len == null || len > arr.length) len = arr.length;
50
+ for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
51
+ return arr2;
52
+ }
53
+ function _array_with_holes(arr) {
54
+ if (Array.isArray(arr)) return arr;
55
+ }
56
+ function asyncGeneratorStep$2(gen, resolve, reject, _next, _throw, key, arg) {
20
57
  try {
21
58
  var info = gen[key](arg);
22
59
  var value = info.value;
@@ -30,69 +67,60 @@ function asyncGeneratorStep$1(gen, resolve, reject, _next, _throw, key, arg) {
30
67
  Promise.resolve(value).then(_next, _throw);
31
68
  }
32
69
  }
33
- function _async_to_generator$1(fn) {
70
+ function _async_to_generator$2(fn) {
34
71
  return function() {
35
72
  var self = this, args = arguments;
36
73
  return new Promise(function(resolve, reject) {
37
74
  var gen = fn.apply(self, args);
38
75
  function _next(value) {
39
- asyncGeneratorStep$1(gen, resolve, reject, _next, _throw, "next", value);
76
+ asyncGeneratorStep$2(gen, resolve, reject, _next, _throw, "next", value);
40
77
  }
41
78
  function _throw(err) {
42
- asyncGeneratorStep$1(gen, resolve, reject, _next, _throw, "throw", err);
79
+ asyncGeneratorStep$2(gen, resolve, reject, _next, _throw, "throw", err);
43
80
  }
44
81
  _next(undefined);
45
82
  });
46
83
  };
47
84
  }
48
- function _define_property$1(obj, key, value) {
49
- if (key in obj) {
50
- Object.defineProperty(obj, key, {
51
- value: value,
52
- enumerable: true,
53
- configurable: true,
54
- writable: true
55
- });
56
- } else {
57
- obj[key] = value;
58
- }
59
- return obj;
60
- }
61
- function _object_spread$1(target) {
62
- for(var i = 1; i < arguments.length; i++){
63
- var source = arguments[i] != null ? arguments[i] : {};
64
- var ownKeys = Object.keys(source);
65
- if (typeof Object.getOwnPropertySymbols === "function") {
66
- ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
67
- return Object.getOwnPropertyDescriptor(source, sym).enumerable;
68
- }));
85
+ function _iterable_to_array_limit(arr, i) {
86
+ var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
87
+ if (_i == null) return;
88
+ var _arr = [];
89
+ var _n = true;
90
+ var _d = false;
91
+ var _s, _e;
92
+ try {
93
+ for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){
94
+ _arr.push(_s.value);
95
+ if (i && _arr.length === i) break;
96
+ }
97
+ } catch (err) {
98
+ _d = true;
99
+ _e = err;
100
+ } finally{
101
+ try {
102
+ if (!_n && _i["return"] != null) _i["return"]();
103
+ } finally{
104
+ if (_d) throw _e;
69
105
  }
70
- ownKeys.forEach(function(key) {
71
- _define_property$1(target, key, source[key]);
72
- });
73
106
  }
74
- return target;
107
+ return _arr;
75
108
  }
76
- function ownKeys$1(object, enumerableOnly) {
77
- var keys = Object.keys(object);
78
- if (Object.getOwnPropertySymbols) {
79
- var symbols = Object.getOwnPropertySymbols(object);
80
- keys.push.apply(keys, symbols);
81
- }
82
- return keys;
109
+ function _non_iterable_rest() {
110
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
83
111
  }
84
- function _object_spread_props$1(target, source) {
85
- source = source != null ? source : {};
86
- if (Object.getOwnPropertyDescriptors) {
87
- Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
88
- } else {
89
- ownKeys$1(Object(source)).forEach(function(key) {
90
- Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
91
- });
92
- }
93
- return target;
112
+ function _sliced_to_array(arr, i) {
113
+ return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();
94
114
  }
95
- function _ts_generator$1(thisArg, body) {
115
+ function _unsupported_iterable_to_array(o, minLen) {
116
+ if (!o) return;
117
+ if (typeof o === "string") return _array_like_to_array(o, minLen);
118
+ var n = Object.prototype.toString.call(o).slice(8, -1);
119
+ if (n === "Object" && o.constructor) n = o.constructor.name;
120
+ if (n === "Map" || n === "Set") return Array.from(n);
121
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
122
+ }
123
+ function _ts_generator$2(thisArg, body) {
96
124
  var f, y, t, g, _ = {
97
125
  label: 0,
98
126
  sent: function() {
@@ -187,54 +215,75 @@ function _ts_generator$1(thisArg, body) {
187
215
  };
188
216
  }
189
217
  }
190
- var fromWebToken = function(init) {
191
- return function() {
192
- var _ref = _async_to_generator$1(function(awsIdentityProperties) {
193
- var _init_logger, roleArn, roleSessionName, webIdentityToken, providerId, policyArns, policy, durationSeconds, roleAssumerWithWebIdentity, getDefaultRoleAssumerWithWebIdentity;
194
- return _ts_generator$1(this, function(_state) {
195
- switch(_state.label){
196
- case 0:
197
- (_init_logger = init.logger) === null || _init_logger === void 0 ? void 0 : _init_logger.debug("@aws-sdk/credential-provider-web-identity - fromWebToken");
198
- roleArn = init.roleArn, roleSessionName = init.roleSessionName, webIdentityToken = init.webIdentityToken, providerId = init.providerId, policyArns = init.policyArns, policy = init.policy, durationSeconds = init.durationSeconds;
199
- roleAssumerWithWebIdentity = init.roleAssumerWithWebIdentity;
200
- if (!!roleAssumerWithWebIdentity) return [
201
- 3,
202
- 2
203
- ];
204
- return [
205
- 4,
206
- import('./index.esm6.js')
207
- ];
208
- case 1:
209
- getDefaultRoleAssumerWithWebIdentity = _state.sent().getDefaultRoleAssumerWithWebIdentity;
210
- roleAssumerWithWebIdentity = getDefaultRoleAssumerWithWebIdentity(_object_spread_props$1(_object_spread$1({}, init.clientConfig), {
211
- credentialProviderLogger: init.logger,
212
- parentClientConfig: _object_spread$1({}, awsIdentityProperties === null || awsIdentityProperties === void 0 ? void 0 : awsIdentityProperties.callerClientConfig, init.parentClientConfig)
213
- }), init.clientPlugins);
214
- _state.label = 2;
215
- case 2:
218
+ function createGetRequest(url) {
219
+ return new HttpRequest({
220
+ protocol: url.protocol,
221
+ hostname: url.hostname,
222
+ port: Number(url.port),
223
+ path: url.pathname,
224
+ query: Array.from(url.searchParams.entries()).reduce(function(acc, param) {
225
+ var _param = _sliced_to_array(param, 2), k = _param[0], v = _param[1];
226
+ acc[k] = v;
227
+ return acc;
228
+ }, {}),
229
+ fragment: url.hash
230
+ });
231
+ }
232
+ function getCredentials(response, logger) {
233
+ return _getCredentials.apply(this, arguments);
234
+ }
235
+ function _getCredentials() {
236
+ _getCredentials = _async_to_generator$2(function(response, logger) {
237
+ var stream, str, parsed, parsedBody;
238
+ return _ts_generator$2(this, function(_state) {
239
+ switch(_state.label){
240
+ case 0:
241
+ stream = sdkStreamMixin(response.body);
242
+ return [
243
+ 4,
244
+ stream.transformToString()
245
+ ];
246
+ case 1:
247
+ str = _state.sent();
248
+ if (response.statusCode === 200) {
249
+ parsed = JSON.parse(str);
250
+ if (typeof parsed.AccessKeyId !== "string" || typeof parsed.SecretAccessKey !== "string" || typeof parsed.Token !== "string" || typeof parsed.Expiration !== "string") {
251
+ throw new CredentialsProviderError("HTTP credential provider response not of the required format, an object matching: " + "{ AccessKeyId: string, SecretAccessKey: string, Token: string, Expiration: string(rfc3339) }", {
252
+ logger: logger
253
+ });
254
+ }
216
255
  return [
217
256
  2,
218
- roleAssumerWithWebIdentity({
219
- RoleArn: roleArn,
220
- RoleSessionName: roleSessionName !== null && roleSessionName !== void 0 ? roleSessionName : "aws-sdk-js-session-".concat(Date.now()),
221
- WebIdentityToken: webIdentityToken,
222
- ProviderId: providerId,
223
- PolicyArns: policyArns,
224
- Policy: policy,
225
- DurationSeconds: durationSeconds
226
- })
257
+ {
258
+ accessKeyId: parsed.AccessKeyId,
259
+ secretAccessKey: parsed.SecretAccessKey,
260
+ sessionToken: parsed.Token,
261
+ expiration: parseRfc3339DateTime(parsed.Expiration)
262
+ }
227
263
  ];
228
- }
229
- });
264
+ }
265
+ if (response.statusCode >= 400 && response.statusCode < 500) {
266
+ parsedBody = {};
267
+ try {
268
+ parsedBody = JSON.parse(str);
269
+ } catch (e) {}
270
+ throw Object.assign(new CredentialsProviderError("Server responded with status: ".concat(response.statusCode), {
271
+ logger: logger
272
+ }), {
273
+ Code: parsedBody.Code,
274
+ Message: parsedBody.Message
275
+ });
276
+ }
277
+ throw new CredentialsProviderError("Server responded with status: ".concat(response.statusCode), {
278
+ logger: logger
279
+ });
280
+ }
230
281
  });
231
- return function(awsIdentityProperties) {
232
- return _ref.apply(this, arguments);
233
- };
234
- }();
235
- };
282
+ });
283
+ return _getCredentials.apply(this, arguments);
284
+ }
236
285
 
237
- function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
286
+ function asyncGeneratorStep$1(gen, resolve, reject, _next, _throw, key, arg) {
238
287
  try {
239
288
  var info = gen[key](arg);
240
289
  var value = info.value;
@@ -248,67 +297,209 @@ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
248
297
  Promise.resolve(value).then(_next, _throw);
249
298
  }
250
299
  }
251
- function _async_to_generator(fn) {
300
+ function _async_to_generator$1(fn) {
252
301
  return function() {
253
302
  var self = this, args = arguments;
254
303
  return new Promise(function(resolve, reject) {
255
304
  var gen = fn.apply(self, args);
256
305
  function _next(value) {
257
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
306
+ asyncGeneratorStep$1(gen, resolve, reject, _next, _throw, "next", value);
258
307
  }
259
308
  function _throw(err) {
260
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
309
+ asyncGeneratorStep$1(gen, resolve, reject, _next, _throw, "throw", err);
261
310
  }
262
311
  _next(undefined);
263
312
  });
264
313
  };
265
314
  }
266
- function _define_property(obj, key, value) {
267
- if (key in obj) {
268
- Object.defineProperty(obj, key, {
269
- value: value,
270
- enumerable: true,
271
- configurable: true,
272
- writable: true
273
- });
274
- } else {
275
- obj[key] = value;
315
+ function _ts_generator$1(thisArg, body) {
316
+ var f, y, t, g, _ = {
317
+ label: 0,
318
+ sent: function() {
319
+ if (t[0] & 1) throw t[1];
320
+ return t[1];
321
+ },
322
+ trys: [],
323
+ ops: []
324
+ };
325
+ return g = {
326
+ next: verb(0),
327
+ "throw": verb(1),
328
+ "return": verb(2)
329
+ }, typeof Symbol === "function" && (g[Symbol.iterator] = function() {
330
+ return this;
331
+ }), g;
332
+ function verb(n) {
333
+ return function(v) {
334
+ return step([
335
+ n,
336
+ v
337
+ ]);
338
+ };
276
339
  }
277
- return obj;
278
- }
279
- function _object_spread(target) {
280
- for(var i = 1; i < arguments.length; i++){
281
- var source = arguments[i] != null ? arguments[i] : {};
282
- var ownKeys = Object.keys(source);
283
- if (typeof Object.getOwnPropertySymbols === "function") {
284
- ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
285
- return Object.getOwnPropertyDescriptor(source, sym).enumerable;
286
- }));
340
+ function step(op) {
341
+ if (f) throw new TypeError("Generator is already executing.");
342
+ while(_)try {
343
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
344
+ if (y = 0, t) op = [
345
+ op[0] & 2,
346
+ t.value
347
+ ];
348
+ switch(op[0]){
349
+ case 0:
350
+ case 1:
351
+ t = op;
352
+ break;
353
+ case 4:
354
+ _.label++;
355
+ return {
356
+ value: op[1],
357
+ done: false
358
+ };
359
+ case 5:
360
+ _.label++;
361
+ y = op[1];
362
+ op = [
363
+ 0
364
+ ];
365
+ continue;
366
+ case 7:
367
+ op = _.ops.pop();
368
+ _.trys.pop();
369
+ continue;
370
+ default:
371
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
372
+ _ = 0;
373
+ continue;
374
+ }
375
+ if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
376
+ _.label = op[1];
377
+ break;
378
+ }
379
+ if (op[0] === 6 && _.label < t[1]) {
380
+ _.label = t[1];
381
+ t = op;
382
+ break;
383
+ }
384
+ if (t && _.label < t[2]) {
385
+ _.label = t[2];
386
+ _.ops.push(op);
387
+ break;
388
+ }
389
+ if (t[2]) _.ops.pop();
390
+ _.trys.pop();
391
+ continue;
392
+ }
393
+ op = body.call(thisArg, _);
394
+ } catch (e) {
395
+ op = [
396
+ 6,
397
+ e
398
+ ];
399
+ y = 0;
400
+ } finally{
401
+ f = t = 0;
287
402
  }
288
- ownKeys.forEach(function(key) {
289
- _define_property(target, key, source[key]);
290
- });
403
+ if (op[0] & 5) throw op[1];
404
+ return {
405
+ value: op[0] ? op[1] : void 0,
406
+ done: true
407
+ };
291
408
  }
292
- return target;
293
409
  }
294
- function ownKeys(object, enumerableOnly) {
295
- var keys = Object.keys(object);
296
- if (Object.getOwnPropertySymbols) {
297
- var symbols = Object.getOwnPropertySymbols(object);
298
- keys.push.apply(keys, symbols);
410
+ var retryWrapper = function(toRetry, maxRetries, delayMs) {
411
+ return /*#__PURE__*/ _async_to_generator$1(function() {
412
+ var i;
413
+ return _ts_generator$1(this, function(_state) {
414
+ switch(_state.label){
415
+ case 0:
416
+ i = 0;
417
+ _state.label = 1;
418
+ case 1:
419
+ if (!(i < maxRetries)) return [
420
+ 3,
421
+ 7
422
+ ];
423
+ _state.label = 2;
424
+ case 2:
425
+ _state.trys.push([
426
+ 2,
427
+ 4,
428
+ ,
429
+ 6
430
+ ]);
431
+ return [
432
+ 4,
433
+ toRetry()
434
+ ];
435
+ case 3:
436
+ return [
437
+ 2,
438
+ _state.sent()
439
+ ];
440
+ case 4:
441
+ _state.sent();
442
+ return [
443
+ 4,
444
+ new Promise(function(resolve) {
445
+ return setTimeout(resolve, delayMs);
446
+ })
447
+ ];
448
+ case 5:
449
+ _state.sent();
450
+ return [
451
+ 3,
452
+ 6
453
+ ];
454
+ case 6:
455
+ ++i;
456
+ return [
457
+ 3,
458
+ 1
459
+ ];
460
+ case 7:
461
+ return [
462
+ 4,
463
+ toRetry()
464
+ ];
465
+ case 8:
466
+ return [
467
+ 2,
468
+ _state.sent()
469
+ ];
470
+ }
471
+ });
472
+ });
473
+ };
474
+
475
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
476
+ try {
477
+ var info = gen[key](arg);
478
+ var value = info.value;
479
+ } catch (error) {
480
+ reject(error);
481
+ return;
299
482
  }
300
- return keys;
301
- }
302
- function _object_spread_props(target, source) {
303
- source = source != null ? source : {};
304
- if (Object.getOwnPropertyDescriptors) {
305
- Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
483
+ if (info.done) {
484
+ resolve(value);
306
485
  } else {
307
- ownKeys(Object(source)).forEach(function(key) {
308
- Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
309
- });
486
+ Promise.resolve(value).then(_next, _throw);
310
487
  }
311
- return target;
488
+ }
489
+ function _async_to_generator(fn) {
490
+ return function() {
491
+ var self = this, args = arguments;
492
+ return new Promise(function(resolve, reject) {
493
+ var gen = fn.apply(self, args);
494
+ function _next(value) {
495
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
496
+ }
497
+ function _throw(err) {
498
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
499
+ }
500
+ _next(undefined);
501
+ });
502
+ };
312
503
  }
313
504
  function _ts_generator(thisArg, body) {
314
505
  var f, y, t, g, _ = {
@@ -405,47 +596,109 @@ function _ts_generator(thisArg, body) {
405
596
  };
406
597
  }
407
598
  }
408
- var ENV_TOKEN_FILE = "AWS_WEB_IDENTITY_TOKEN_FILE";
409
- var ENV_ROLE_ARN = "AWS_ROLE_ARN";
410
- var ENV_ROLE_SESSION_NAME = "AWS_ROLE_SESSION_NAME";
411
- var fromTokenFile = function() {
412
- var init = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
413
- return /*#__PURE__*/ _async_to_generator(function() {
414
- var _init_logger, _externalDataInterceptor_getTokenRecord, _init_webIdentityTokenFile, webIdentityTokenFile, _init_roleArn, roleArn, _init_roleSessionName, roleSessionName, _externalDataInterceptor_getTokenRecord_webIdentityTokenFile, credentials;
599
+ var AWS_CONTAINER_CREDENTIALS_RELATIVE_URI = "AWS_CONTAINER_CREDENTIALS_RELATIVE_URI";
600
+ var DEFAULT_LINK_LOCAL_HOST = "http://169.254.170.2";
601
+ var AWS_CONTAINER_CREDENTIALS_FULL_URI = "AWS_CONTAINER_CREDENTIALS_FULL_URI";
602
+ var AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE = "AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE";
603
+ var AWS_CONTAINER_AUTHORIZATION_TOKEN = "AWS_CONTAINER_AUTHORIZATION_TOKEN";
604
+ var fromHttp = function() {
605
+ var options = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
606
+ var _options_logger, _options_logger_constructor, _options_logger1, _options_logger2;
607
+ (_options_logger = options.logger) === null || _options_logger === void 0 ? void 0 : _options_logger.debug("@aws-sdk/credential-provider-http - fromHttp");
608
+ var host;
609
+ var _options_awsContainerCredentialsRelativeUri;
610
+ var relative = (_options_awsContainerCredentialsRelativeUri = options.awsContainerCredentialsRelativeUri) !== null && _options_awsContainerCredentialsRelativeUri !== void 0 ? _options_awsContainerCredentialsRelativeUri : process.env[AWS_CONTAINER_CREDENTIALS_RELATIVE_URI];
611
+ var _options_awsContainerCredentialsFullUri;
612
+ var full = (_options_awsContainerCredentialsFullUri = options.awsContainerCredentialsFullUri) !== null && _options_awsContainerCredentialsFullUri !== void 0 ? _options_awsContainerCredentialsFullUri : process.env[AWS_CONTAINER_CREDENTIALS_FULL_URI];
613
+ var _options_awsContainerAuthorizationToken;
614
+ var token = (_options_awsContainerAuthorizationToken = options.awsContainerAuthorizationToken) !== null && _options_awsContainerAuthorizationToken !== void 0 ? _options_awsContainerAuthorizationToken : process.env[AWS_CONTAINER_AUTHORIZATION_TOKEN];
615
+ var _options_awsContainerAuthorizationTokenFile;
616
+ var tokenFile = (_options_awsContainerAuthorizationTokenFile = options.awsContainerAuthorizationTokenFile) !== null && _options_awsContainerAuthorizationTokenFile !== void 0 ? _options_awsContainerAuthorizationTokenFile : process.env[AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE];
617
+ var warn = ((_options_logger1 = options.logger) === null || _options_logger1 === void 0 ? void 0 : (_options_logger_constructor = _options_logger1.constructor) === null || _options_logger_constructor === void 0 ? void 0 : _options_logger_constructor.name) === "NoOpLogger" || !((_options_logger2 = options.logger) === null || _options_logger2 === void 0 ? void 0 : _options_logger2.warn) ? console.warn : options.logger.warn.bind(options.logger);
618
+ if (relative && full) {
619
+ warn("@aws-sdk/credential-provider-http: " + "you have set both awsContainerCredentialsRelativeUri and awsContainerCredentialsFullUri.");
620
+ warn("awsContainerCredentialsFullUri will take precedence.");
621
+ }
622
+ if (token && tokenFile) {
623
+ warn("@aws-sdk/credential-provider-http: " + "you have set both awsContainerAuthorizationToken and awsContainerAuthorizationTokenFile.");
624
+ warn("awsContainerAuthorizationToken will take precedence.");
625
+ }
626
+ if (full) {
627
+ host = full;
628
+ } else if (relative) {
629
+ host = "".concat(DEFAULT_LINK_LOCAL_HOST).concat(relative);
630
+ } else {
631
+ throw new CredentialsProviderError("No HTTP credential provider host provided.\nSet AWS_CONTAINER_CREDENTIALS_FULL_URI or AWS_CONTAINER_CREDENTIALS_RELATIVE_URI.", {
632
+ logger: options.logger
633
+ });
634
+ }
635
+ var url = new URL(host);
636
+ checkUrl(url, options.logger);
637
+ var _options_timeout, _options_timeout1;
638
+ var requestHandler = NodeHttpHandler.create({
639
+ requestTimeout: (_options_timeout = options.timeout) !== null && _options_timeout !== void 0 ? _options_timeout : 1000,
640
+ connectionTimeout: (_options_timeout1 = options.timeout) !== null && _options_timeout1 !== void 0 ? _options_timeout1 : 1000
641
+ });
642
+ var _options_maxRetries, _options_timeout2;
643
+ return retryWrapper(/*#__PURE__*/ _async_to_generator(function() {
644
+ var request, _, result, e;
415
645
  return _ts_generator(this, function(_state) {
416
646
  switch(_state.label){
417
647
  case 0:
418
- (_init_logger = init.logger) === null || _init_logger === void 0 ? void 0 : _init_logger.debug("@aws-sdk/credential-provider-web-identity - fromTokenFile");
419
- webIdentityTokenFile = (_init_webIdentityTokenFile = init === null || init === void 0 ? void 0 : init.webIdentityTokenFile) !== null && _init_webIdentityTokenFile !== void 0 ? _init_webIdentityTokenFile : process.env[ENV_TOKEN_FILE];
420
- roleArn = (_init_roleArn = init === null || init === void 0 ? void 0 : init.roleArn) !== null && _init_roleArn !== void 0 ? _init_roleArn : process.env[ENV_ROLE_ARN];
421
- roleSessionName = (_init_roleSessionName = init === null || init === void 0 ? void 0 : init.roleSessionName) !== null && _init_roleSessionName !== void 0 ? _init_roleSessionName : process.env[ENV_ROLE_SESSION_NAME];
422
- if (!webIdentityTokenFile || !roleArn) {
423
- throw new CredentialsProviderError("Web identity configuration not specified", {
424
- logger: init.logger
425
- });
426
- }
648
+ request = createGetRequest(url);
649
+ if (!token) return [
650
+ 3,
651
+ 1
652
+ ];
653
+ request.headers.Authorization = token;
427
654
  return [
428
- 4,
429
- fromWebToken(_object_spread_props(_object_spread({}, init), {
430
- webIdentityToken: (_externalDataInterceptor_getTokenRecord_webIdentityTokenFile = externalDataInterceptor === null || externalDataInterceptor === void 0 ? void 0 : (_externalDataInterceptor_getTokenRecord = externalDataInterceptor.getTokenRecord) === null || _externalDataInterceptor_getTokenRecord === void 0 ? void 0 : _externalDataInterceptor_getTokenRecord.call(externalDataInterceptor)[webIdentityTokenFile]) !== null && _externalDataInterceptor_getTokenRecord_webIdentityTokenFile !== void 0 ? _externalDataInterceptor_getTokenRecord_webIdentityTokenFile : readFileSync(webIdentityTokenFile, {
431
- encoding: "ascii"
432
- }),
433
- roleArn: roleArn,
434
- roleSessionName: roleSessionName
435
- }))()
655
+ 3,
656
+ 3
436
657
  ];
437
658
  case 1:
438
- credentials = _state.sent();
439
- if (webIdentityTokenFile === process.env[ENV_TOKEN_FILE]) {
440
- setCredentialFeature(credentials, "CREDENTIALS_ENV_VARS_STS_WEB_ID_TOKEN", "h");
441
- }
659
+ if (!tokenFile) return [
660
+ 3,
661
+ 3
662
+ ];
663
+ _ = request.headers;
664
+ return [
665
+ 4,
666
+ fs.readFile(tokenFile)
667
+ ];
668
+ case 2:
669
+ _.Authorization = _state.sent().toString();
670
+ _state.label = 3;
671
+ case 3:
672
+ _state.trys.push([
673
+ 3,
674
+ 5,
675
+ ,
676
+ 6
677
+ ]);
678
+ return [
679
+ 4,
680
+ requestHandler.handle(request)
681
+ ];
682
+ case 4:
683
+ result = _state.sent();
442
684
  return [
443
685
  2,
444
- credentials
686
+ getCredentials(result.response).then(function(creds) {
687
+ return setCredentialFeature(creds, "CREDENTIALS_HTTP", "z");
688
+ })
689
+ ];
690
+ case 5:
691
+ e = _state.sent();
692
+ throw new CredentialsProviderError(String(e), {
693
+ logger: options.logger
694
+ });
695
+ case 6:
696
+ return [
697
+ 2
445
698
  ];
446
699
  }
447
700
  });
448
- });
701
+ }), (_options_maxRetries = options.maxRetries) !== null && _options_maxRetries !== void 0 ? _options_maxRetries : 3, (_options_timeout2 = options.timeout) !== null && _options_timeout2 !== void 0 ? _options_timeout2 : 1000);
449
702
  };
450
703
 
451
- export { fromTokenFile, fromWebToken };
704
+ export { fromHttp };