@aws-sdk/signature-v4-crt 3.183.0 → 3.186.0

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.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,14 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [3.186.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.185.0...v3.186.0) (2022-10-06)
7
+
8
+ **Note:** Version bump only for package @aws-sdk/signature-v4-crt
9
+
10
+
11
+
12
+
13
+
6
14
  # [3.183.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.182.0...v3.183.0) (2022-10-03)
7
15
 
8
16
  **Note:** Version bump only for package @aws-sdk/signature-v4-crt
@@ -1,3 +1,4 @@
1
+ import { __assign, __awaiter, __generator, __read, __spreadArray } from "tslib";
1
2
  import { parseQueryString } from "@aws-sdk/querystring-parser";
2
3
  import { getCanonicalQuery, getPayloadHash, moveHeadersToQuery, prepareRequest, } from "@aws-sdk/signature-v4";
3
4
  import { normalizeProvider } from "@aws-sdk/util-middleware";
@@ -6,13 +7,14 @@ import { MAX_PRESIGNED_TTL, SHA256_HEADER } from "./constants";
6
7
  import { deleteHeader } from "./headerUtil";
7
8
  function sdkHttpRequest2crtHttpRequest(sdkRequest) {
8
9
  deleteHeader(SHA256_HEADER, sdkRequest.headers);
9
- const headersArray = Object.entries(sdkRequest.headers);
10
- const crtHttpHeaders = new crtHttp.HttpHeaders(headersArray);
11
- const queryString = getCanonicalQuery(sdkRequest);
10
+ var headersArray = Object.entries(sdkRequest.headers);
11
+ var crtHttpHeaders = new crtHttp.HttpHeaders(headersArray);
12
+ var queryString = getCanonicalQuery(sdkRequest);
12
13
  return new crtHttp.HttpRequest(sdkRequest.method, sdkRequest.path + "?" + queryString, crtHttpHeaders);
13
14
  }
14
- export class CrtSignerV4 {
15
- constructor({ credentials, region, service, sha256, applyChecksum = true, uriEscapePath = true, signingAlgorithm = crtAuth.AwsSigningAlgorithm.SigV4, }) {
15
+ var CrtSignerV4 = (function () {
16
+ function CrtSignerV4(_a) {
17
+ var credentials = _a.credentials, region = _a.region, service = _a.service, sha256 = _a.sha256, _b = _a.applyChecksum, applyChecksum = _b === void 0 ? true : _b, _c = _a.uriEscapePath, uriEscapePath = _c === void 0 ? true : _c, _d = _a.signingAlgorithm, signingAlgorithm = _d === void 0 ? crtAuth.AwsSigningAlgorithm.SigV4 : _d;
16
18
  this.service = service;
17
19
  this.sha256 = sha256;
18
20
  this.uriEscapePath = uriEscapePath;
@@ -22,84 +24,181 @@ export class CrtSignerV4 {
22
24
  this.credentialProvider = normalizeProvider(credentials);
23
25
  crtIO.enable_logging(crtIO.LogLevel.ERROR);
24
26
  }
25
- async options2crtConfigure({ signingDate = new Date(), signableHeaders, unsignableHeaders, signingRegion, signingService, } = {}, viaHeader, payloadHash, expiresIn) {
26
- const credentials = await this.credentialProvider();
27
- const region = signingRegion ?? (await this.regionProvider());
28
- const service = signingService ?? this.service;
29
- if (signableHeaders?.has("x-amzn-trace-id") || signableHeaders?.has("user-agent")) {
30
- throw new Error("internal check (x-amzn-trace-id, user-agent) is not supported to be included to sign with CRT.");
31
- }
32
- const headersUnsignable = getHeadersUnsignable(unsignableHeaders, signableHeaders);
33
- return {
34
- algorithm: this.signingAlgorithm,
35
- signature_type: viaHeader
36
- ? crtAuth.AwsSignatureType.HttpRequestViaHeaders
37
- : crtAuth.AwsSignatureType.HttpRequestViaQueryParams,
38
- provider: sdk2crtCredentialsProvider(credentials),
39
- region: region,
40
- service: service,
41
- date: new Date(signingDate),
42
- header_blacklist: headersUnsignable,
43
- use_double_uri_encode: this.uriEscapePath,
44
- signed_body_value: payloadHash,
45
- signed_body_header: this.applyChecksum && viaHeader
46
- ? crtAuth.AwsSignedBodyHeaderType.XAmzContentSha256
47
- : crtAuth.AwsSignedBodyHeaderType.None,
48
- expiration_in_seconds: expiresIn,
49
- };
50
- }
51
- async presign(originalRequest, options = {}) {
52
- if (options.expiresIn && options.expiresIn > MAX_PRESIGNED_TTL) {
53
- return Promise.reject("Signature version 4 presigned URLs" + " must have an expiration date less than one week in" + " the future");
54
- }
55
- const request = moveHeadersToQuery(prepareRequest(originalRequest));
56
- const crtSignedRequest = await this.signRequest(request, await this.options2crtConfigure(options, false, await getPayloadHash(originalRequest, this.sha256), options.expiresIn ? options.expiresIn : 3600));
57
- request.query = this.getQueryParam(crtSignedRequest.path);
58
- return request;
59
- }
60
- async sign(toSign, options) {
61
- const request = prepareRequest(toSign);
62
- const crtSignedRequest = await this.signRequest(request, await this.options2crtConfigure(options, true, await getPayloadHash(toSign, this.sha256)));
63
- request.headers = crtSignedRequest.headers._flatten().reduce((acc, [key, value]) => ({ ...acc, [key]: value }), {});
64
- return request;
65
- }
66
- getQueryParam(crtPath) {
67
- const start = crtPath.search(/\?/);
68
- const startHash = crtPath.search(/\#/);
69
- const end = startHash == -1 ? undefined : startHash;
70
- const queryParam = {};
27
+ CrtSignerV4.prototype.options2crtConfigure = function (_a, viaHeader, payloadHash, expiresIn) {
28
+ var _b = _a === void 0 ? {} : _a, _c = _b.signingDate, signingDate = _c === void 0 ? new Date() : _c, signableHeaders = _b.signableHeaders, unsignableHeaders = _b.unsignableHeaders, signingRegion = _b.signingRegion, signingService = _b.signingService;
29
+ return __awaiter(this, void 0, void 0, function () {
30
+ var credentials, region, _d, service, headersUnsignable;
31
+ return __generator(this, function (_e) {
32
+ switch (_e.label) {
33
+ case 0: return [4, this.credentialProvider()];
34
+ case 1:
35
+ credentials = _e.sent();
36
+ if (!(signingRegion !== null && signingRegion !== void 0)) return [3, 2];
37
+ _d = signingRegion;
38
+ return [3, 4];
39
+ case 2: return [4, this.regionProvider()];
40
+ case 3:
41
+ _d = (_e.sent());
42
+ _e.label = 4;
43
+ case 4:
44
+ region = _d;
45
+ service = signingService !== null && signingService !== void 0 ? signingService : this.service;
46
+ if ((signableHeaders === null || signableHeaders === void 0 ? void 0 : signableHeaders.has("x-amzn-trace-id")) || (signableHeaders === null || signableHeaders === void 0 ? void 0 : signableHeaders.has("user-agent"))) {
47
+ throw new Error("internal check (x-amzn-trace-id, user-agent) is not supported to be included to sign with CRT.");
48
+ }
49
+ headersUnsignable = getHeadersUnsignable(unsignableHeaders, signableHeaders);
50
+ return [2, {
51
+ algorithm: this.signingAlgorithm,
52
+ signature_type: viaHeader
53
+ ? crtAuth.AwsSignatureType.HttpRequestViaHeaders
54
+ : crtAuth.AwsSignatureType.HttpRequestViaQueryParams,
55
+ provider: sdk2crtCredentialsProvider(credentials),
56
+ region: region,
57
+ service: service,
58
+ date: new Date(signingDate),
59
+ header_blacklist: headersUnsignable,
60
+ use_double_uri_encode: this.uriEscapePath,
61
+ signed_body_value: payloadHash,
62
+ signed_body_header: this.applyChecksum && viaHeader
63
+ ? crtAuth.AwsSignedBodyHeaderType.XAmzContentSha256
64
+ : crtAuth.AwsSignedBodyHeaderType.None,
65
+ expiration_in_seconds: expiresIn,
66
+ }];
67
+ }
68
+ });
69
+ });
70
+ };
71
+ CrtSignerV4.prototype.presign = function (originalRequest, options) {
72
+ if (options === void 0) { options = {}; }
73
+ return __awaiter(this, void 0, void 0, function () {
74
+ var request, crtSignedRequest, _a, _b, _c, _d;
75
+ return __generator(this, function (_e) {
76
+ switch (_e.label) {
77
+ case 0:
78
+ if (options.expiresIn && options.expiresIn > MAX_PRESIGNED_TTL) {
79
+ return [2, Promise.reject("Signature version 4 presigned URLs" + " must have an expiration date less than one week in" + " the future")];
80
+ }
81
+ request = moveHeadersToQuery(prepareRequest(originalRequest));
82
+ _a = this.signRequest;
83
+ _b = [request];
84
+ _c = this.options2crtConfigure;
85
+ _d = [options,
86
+ false];
87
+ return [4, getPayloadHash(originalRequest, this.sha256)];
88
+ case 1: return [4, _c.apply(this, _d.concat([_e.sent(), options.expiresIn ? options.expiresIn : 3600]))];
89
+ case 2: return [4, _a.apply(this, _b.concat([_e.sent()]))];
90
+ case 3:
91
+ crtSignedRequest = _e.sent();
92
+ request.query = this.getQueryParam(crtSignedRequest.path);
93
+ return [2, request];
94
+ }
95
+ });
96
+ });
97
+ };
98
+ CrtSignerV4.prototype.sign = function (toSign, options) {
99
+ return __awaiter(this, void 0, void 0, function () {
100
+ var request, crtSignedRequest, _a, _b, _c, _d;
101
+ return __generator(this, function (_e) {
102
+ switch (_e.label) {
103
+ case 0:
104
+ request = prepareRequest(toSign);
105
+ _a = this.signRequest;
106
+ _b = [request];
107
+ _c = this.options2crtConfigure;
108
+ _d = [options, true];
109
+ return [4, getPayloadHash(toSign, this.sha256)];
110
+ case 1: return [4, _c.apply(this, _d.concat([_e.sent()]))];
111
+ case 2: return [4, _a.apply(this, _b.concat([_e.sent()]))];
112
+ case 3:
113
+ crtSignedRequest = _e.sent();
114
+ request.headers = crtSignedRequest.headers._flatten().reduce(function (acc, _a) {
115
+ var _b;
116
+ var _c = __read(_a, 2), key = _c[0], value = _c[1];
117
+ return (__assign(__assign({}, acc), (_b = {}, _b[key] = value, _b)));
118
+ }, {});
119
+ return [2, request];
120
+ }
121
+ });
122
+ });
123
+ };
124
+ CrtSignerV4.prototype.getQueryParam = function (crtPath) {
125
+ var start = crtPath.search(/\?/);
126
+ var startHash = crtPath.search(/\#/);
127
+ var end = startHash == -1 ? undefined : startHash;
128
+ var queryParam = {};
71
129
  if (start == -1) {
72
130
  return queryParam;
73
131
  }
74
- const queryString = crtPath.slice(start + 1, end);
132
+ var queryString = crtPath.slice(start + 1, end);
75
133
  return parseQueryString(queryString);
76
- }
77
- async signRequest(requestToSign, crtConfig) {
78
- const request = sdkHttpRequest2crtHttpRequest(requestToSign);
79
- try {
80
- return await crtAuth.aws_sign_request(request, crtConfig);
81
- }
82
- catch (error) {
83
- throw new Error(error);
84
- }
85
- }
86
- async verifySigv4aSigning(request, signature, expectedCanonicalRequest, eccPubKeyX, eccPubKeyY, options = {}) {
87
- const sdkRequest = prepareRequest(request);
88
- const crtRequest = sdkHttpRequest2crtHttpRequest(sdkRequest);
89
- const payloadHash = await getPayloadHash(request, this.sha256);
90
- const crtConfig = await this.options2crtConfigure(options, true, payloadHash);
91
- return crtAuth.aws_verify_sigv4a_signing(crtRequest, crtConfig, expectedCanonicalRequest, signature, eccPubKeyX, eccPubKeyY);
92
- }
93
- async verifySigv4aPreSigning(request, signature, expectedCanonicalRequest, eccPubKeyX, eccPubKeyY, options = {}) {
94
- if (typeof signature != "string") {
95
- return false;
96
- }
97
- const sdkRequest = prepareRequest(request);
98
- const crtRequest = sdkHttpRequest2crtHttpRequest(sdkRequest);
99
- const crtConfig = await this.options2crtConfigure(options, false, await getPayloadHash(request, this.sha256), options.expiresIn ? options.expiresIn : 3600);
100
- return crtAuth.aws_verify_sigv4a_signing(crtRequest, crtConfig, expectedCanonicalRequest, signature, eccPubKeyX, eccPubKeyY);
101
- }
102
- }
134
+ };
135
+ CrtSignerV4.prototype.signRequest = function (requestToSign, crtConfig) {
136
+ return __awaiter(this, void 0, void 0, function () {
137
+ var request, error_1;
138
+ return __generator(this, function (_a) {
139
+ switch (_a.label) {
140
+ case 0:
141
+ request = sdkHttpRequest2crtHttpRequest(requestToSign);
142
+ _a.label = 1;
143
+ case 1:
144
+ _a.trys.push([1, 3, , 4]);
145
+ return [4, crtAuth.aws_sign_request(request, crtConfig)];
146
+ case 2: return [2, _a.sent()];
147
+ case 3:
148
+ error_1 = _a.sent();
149
+ throw new Error(error_1);
150
+ case 4: return [2];
151
+ }
152
+ });
153
+ });
154
+ };
155
+ CrtSignerV4.prototype.verifySigv4aSigning = function (request, signature, expectedCanonicalRequest, eccPubKeyX, eccPubKeyY, options) {
156
+ if (options === void 0) { options = {}; }
157
+ return __awaiter(this, void 0, void 0, function () {
158
+ var sdkRequest, crtRequest, payloadHash, crtConfig;
159
+ return __generator(this, function (_a) {
160
+ switch (_a.label) {
161
+ case 0:
162
+ sdkRequest = prepareRequest(request);
163
+ crtRequest = sdkHttpRequest2crtHttpRequest(sdkRequest);
164
+ return [4, getPayloadHash(request, this.sha256)];
165
+ case 1:
166
+ payloadHash = _a.sent();
167
+ return [4, this.options2crtConfigure(options, true, payloadHash)];
168
+ case 2:
169
+ crtConfig = _a.sent();
170
+ return [2, crtAuth.aws_verify_sigv4a_signing(crtRequest, crtConfig, expectedCanonicalRequest, signature, eccPubKeyX, eccPubKeyY)];
171
+ }
172
+ });
173
+ });
174
+ };
175
+ CrtSignerV4.prototype.verifySigv4aPreSigning = function (request, signature, expectedCanonicalRequest, eccPubKeyX, eccPubKeyY, options) {
176
+ if (options === void 0) { options = {}; }
177
+ return __awaiter(this, void 0, void 0, function () {
178
+ var sdkRequest, crtRequest, crtConfig, _a, _b;
179
+ return __generator(this, function (_c) {
180
+ switch (_c.label) {
181
+ case 0:
182
+ if (typeof signature != "string") {
183
+ return [2, false];
184
+ }
185
+ sdkRequest = prepareRequest(request);
186
+ crtRequest = sdkHttpRequest2crtHttpRequest(sdkRequest);
187
+ _a = this.options2crtConfigure;
188
+ _b = [options,
189
+ false];
190
+ return [4, getPayloadHash(request, this.sha256)];
191
+ case 1: return [4, _a.apply(this, _b.concat([_c.sent(), options.expiresIn ? options.expiresIn : 3600]))];
192
+ case 2:
193
+ crtConfig = _c.sent();
194
+ return [2, crtAuth.aws_verify_sigv4a_signing(crtRequest, crtConfig, expectedCanonicalRequest, signature, eccPubKeyX, eccPubKeyY)];
195
+ }
196
+ });
197
+ });
198
+ };
199
+ return CrtSignerV4;
200
+ }());
201
+ export { CrtSignerV4 };
103
202
  function sdk2crtCredentialsProvider(credentials) {
104
203
  return crtAuth.AwsCredentialsProvider.newStatic(credentials.accessKeyId, credentials.secretAccessKey, credentials.sessionToken);
105
204
  }
@@ -108,13 +207,13 @@ function getHeadersUnsignable(unsignableHeaders, signableHeaders) {
108
207
  return [];
109
208
  }
110
209
  if (!signableHeaders) {
111
- return [...unsignableHeaders];
210
+ return __spreadArray([], __read(unsignableHeaders), false);
112
211
  }
113
- const result = new Set([...unsignableHeaders]);
114
- for (let it = signableHeaders.values(), val = null; (val = it.next().value);) {
212
+ var result = new Set(__spreadArray([], __read(unsignableHeaders), false));
213
+ for (var it_1 = signableHeaders.values(), val = null; (val = it_1.next().value);) {
115
214
  if (result.has(val)) {
116
215
  result.delete(val);
117
216
  }
118
217
  }
119
- return [...result];
218
+ return __spreadArray([], __read(result), false);
120
219
  }
@@ -1,20 +1,20 @@
1
- export const ALGORITHM_QUERY_PARAM = "X-Amz-Algorithm";
2
- export const CREDENTIAL_QUERY_PARAM = "X-Amz-Credential";
3
- export const AMZ_DATE_QUERY_PARAM = "X-Amz-Date";
4
- export const SIGNED_HEADERS_QUERY_PARAM = "X-Amz-SignedHeaders";
5
- export const EXPIRES_QUERY_PARAM = "X-Amz-Expires";
6
- export const SIGNATURE_QUERY_PARAM = "X-Amz-Signature";
7
- export const TOKEN_QUERY_PARAM = "X-Amz-Security-Token";
8
- export const REGION_SET_PARAM = "X-Amz-Region-Set";
9
- export const AUTH_HEADER = "authorization";
10
- export const AMZ_DATE_HEADER = AMZ_DATE_QUERY_PARAM.toLowerCase();
11
- export const DATE_HEADER = "date";
12
- export const GENERATED_HEADERS = [AUTH_HEADER, AMZ_DATE_HEADER, DATE_HEADER];
13
- export const SIGNATURE_HEADER = SIGNATURE_QUERY_PARAM.toLowerCase();
14
- export const SHA256_HEADER = "x-amz-content-sha256";
15
- export const TOKEN_HEADER = TOKEN_QUERY_PARAM.toLowerCase();
16
- export const HOST_HEADER = "host";
17
- export const ALWAYS_UNSIGNABLE_HEADERS = {
1
+ export var ALGORITHM_QUERY_PARAM = "X-Amz-Algorithm";
2
+ export var CREDENTIAL_QUERY_PARAM = "X-Amz-Credential";
3
+ export var AMZ_DATE_QUERY_PARAM = "X-Amz-Date";
4
+ export var SIGNED_HEADERS_QUERY_PARAM = "X-Amz-SignedHeaders";
5
+ export var EXPIRES_QUERY_PARAM = "X-Amz-Expires";
6
+ export var SIGNATURE_QUERY_PARAM = "X-Amz-Signature";
7
+ export var TOKEN_QUERY_PARAM = "X-Amz-Security-Token";
8
+ export var REGION_SET_PARAM = "X-Amz-Region-Set";
9
+ export var AUTH_HEADER = "authorization";
10
+ export var AMZ_DATE_HEADER = AMZ_DATE_QUERY_PARAM.toLowerCase();
11
+ export var DATE_HEADER = "date";
12
+ export var GENERATED_HEADERS = [AUTH_HEADER, AMZ_DATE_HEADER, DATE_HEADER];
13
+ export var SIGNATURE_HEADER = SIGNATURE_QUERY_PARAM.toLowerCase();
14
+ export var SHA256_HEADER = "x-amz-content-sha256";
15
+ export var TOKEN_HEADER = TOKEN_QUERY_PARAM.toLowerCase();
16
+ export var HOST_HEADER = "host";
17
+ export var ALWAYS_UNSIGNABLE_HEADERS = {
18
18
  authorization: true,
19
19
  "cache-control": true,
20
20
  connection: true,
@@ -31,13 +31,13 @@ export const ALWAYS_UNSIGNABLE_HEADERS = {
31
31
  "user-agent": true,
32
32
  "x-amzn-trace-id": true,
33
33
  };
34
- export const PROXY_HEADER_PATTERN = /^proxy-/;
35
- export const SEC_HEADER_PATTERN = /^sec-/;
36
- export const UNSIGNABLE_PATTERNS = [/^proxy-/i, /^sec-/i];
37
- export const ALGORITHM_IDENTIFIER = "AWS4-HMAC-SHA256";
38
- export const ALGORITHM_IDENTIFIER_V4A = "AWS4-ECDSA-P256-SHA256";
39
- export const EVENT_ALGORITHM_IDENTIFIER = "AWS4-HMAC-SHA256-PAYLOAD";
40
- export const UNSIGNED_PAYLOAD = "UNSIGNED-PAYLOAD";
41
- export const MAX_CACHE_SIZE = 50;
42
- export const KEY_TYPE_IDENTIFIER = "aws4_request";
43
- export const MAX_PRESIGNED_TTL = 60 * 60 * 24 * 7;
34
+ export var PROXY_HEADER_PATTERN = /^proxy-/;
35
+ export var SEC_HEADER_PATTERN = /^sec-/;
36
+ export var UNSIGNABLE_PATTERNS = [/^proxy-/i, /^sec-/i];
37
+ export var ALGORITHM_IDENTIFIER = "AWS4-HMAC-SHA256";
38
+ export var ALGORITHM_IDENTIFIER_V4A = "AWS4-ECDSA-P256-SHA256";
39
+ export var EVENT_ALGORITHM_IDENTIFIER = "AWS4-HMAC-SHA256-PAYLOAD";
40
+ export var UNSIGNED_PAYLOAD = "UNSIGNED-PAYLOAD";
41
+ export var MAX_CACHE_SIZE = 50;
42
+ export var KEY_TYPE_IDENTIFIER = "aws4_request";
43
+ export var MAX_PRESIGNED_TTL = 60 * 60 * 24 * 7;
@@ -1,26 +1,60 @@
1
+ import { __values } from "tslib";
1
2
  export function hasHeader(soughtHeader, headers) {
3
+ var e_1, _a;
2
4
  soughtHeader = soughtHeader.toLowerCase();
3
- for (const headerName of Object.keys(headers)) {
4
- if (soughtHeader === headerName.toLowerCase()) {
5
- return true;
5
+ try {
6
+ for (var _b = __values(Object.keys(headers)), _c = _b.next(); !_c.done; _c = _b.next()) {
7
+ var headerName = _c.value;
8
+ if (soughtHeader === headerName.toLowerCase()) {
9
+ return true;
10
+ }
6
11
  }
7
12
  }
13
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
14
+ finally {
15
+ try {
16
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
17
+ }
18
+ finally { if (e_1) throw e_1.error; }
19
+ }
8
20
  return false;
9
21
  }
10
22
  export function getHeaderValue(soughtHeader, headers) {
23
+ var e_2, _a;
11
24
  soughtHeader = soughtHeader.toLowerCase();
12
- for (const headerName of Object.keys(headers)) {
13
- if (soughtHeader === headerName.toLowerCase()) {
14
- return headers[headerName];
25
+ try {
26
+ for (var _b = __values(Object.keys(headers)), _c = _b.next(); !_c.done; _c = _b.next()) {
27
+ var headerName = _c.value;
28
+ if (soughtHeader === headerName.toLowerCase()) {
29
+ return headers[headerName];
30
+ }
31
+ }
32
+ }
33
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
34
+ finally {
35
+ try {
36
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
15
37
  }
38
+ finally { if (e_2) throw e_2.error; }
16
39
  }
17
40
  return undefined;
18
41
  }
19
42
  export function deleteHeader(soughtHeader, headers) {
43
+ var e_3, _a;
20
44
  soughtHeader = soughtHeader.toLowerCase();
21
- for (const headerName of Object.keys(headers)) {
22
- if (soughtHeader === headerName.toLowerCase()) {
23
- delete headers[headerName];
45
+ try {
46
+ for (var _b = __values(Object.keys(headers)), _c = _b.next(); !_c.done; _c = _b.next()) {
47
+ var headerName = _c.value;
48
+ if (soughtHeader === headerName.toLowerCase()) {
49
+ delete headers[headerName];
50
+ }
51
+ }
52
+ }
53
+ catch (e_3_1) { e_3 = { error: e_3_1 }; }
54
+ finally {
55
+ try {
56
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
24
57
  }
58
+ finally { if (e_3) throw e_3.error; }
25
59
  }
26
60
  }
@@ -1,11 +1,11 @@
1
- export const region = "us-east-1";
2
- export const service = "service";
3
- export const credentials = {
1
+ export var region = "us-east-1";
2
+ export var service = "service";
3
+ export var credentials = {
4
4
  accessKeyId: "AKIDEXAMPLE",
5
5
  secretAccessKey: "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY",
6
6
  };
7
- export const signingDate = new Date("2015-08-30T12:36:00Z");
8
- export const requests = [
7
+ export var signingDate = new Date("2015-08-30T12:36:00Z");
8
+ export var requests = [
9
9
  {
10
10
  name: "get-header-key-duplicate",
11
11
  request: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/signature-v4-crt",
3
- "version": "3.183.0",
3
+ "version": "3.186.0",
4
4
  "description": "A revision of AWS Signature V4 request signer based on AWS Common Runtime https://github.com/awslabs/aws-crt-nodejs",
5
5
  "main": "./dist-cjs/index.js",
6
6
  "module": "./dist-es/index.js",
@@ -21,20 +21,20 @@
21
21
  },
22
22
  "license": "Apache-2.0",
23
23
  "dependencies": {
24
- "@aws-sdk/is-array-buffer": "3.183.0",
25
- "@aws-sdk/querystring-parser": "3.183.0",
26
- "@aws-sdk/signature-v4": "3.183.0",
27
- "@aws-sdk/util-hex-encoding": "3.183.0",
28
- "@aws-sdk/util-middleware": "3.183.0",
29
- "@aws-sdk/util-uri-escape": "3.183.0",
24
+ "@aws-sdk/is-array-buffer": "3.186.0",
25
+ "@aws-sdk/querystring-parser": "3.186.0",
26
+ "@aws-sdk/signature-v4": "3.186.0",
27
+ "@aws-sdk/util-hex-encoding": "3.186.0",
28
+ "@aws-sdk/util-middleware": "3.186.0",
29
+ "@aws-sdk/util-uri-escape": "3.186.0",
30
30
  "aws-crt": "^1.13.2",
31
31
  "tslib": "^2.3.1"
32
32
  },
33
33
  "devDependencies": {
34
34
  "@aws-crypto/sha256-js": "2.0.0",
35
- "@aws-sdk/protocol-http": "3.183.0",
36
- "@aws-sdk/types": "3.183.0",
37
- "@aws-sdk/util-buffer-from": "3.183.0",
35
+ "@aws-sdk/protocol-http": "3.186.0",
36
+ "@aws-sdk/types": "3.186.0",
37
+ "@aws-sdk/util-buffer-from": "3.186.0",
38
38
  "@tsconfig/recommended": "1.0.1",
39
39
  "concurrently": "7.0.0",
40
40
  "downlevel-dts": "0.10.1",