@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 +8 -0
- package/dist-es/CrtSignerV4.js +182 -83
- package/dist-es/constants.js +27 -27
- package/dist-es/headerUtil.js +43 -9
- package/dist-es/suite.fixture.js +5 -5
- package/package.json +10 -10
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
|
package/dist-es/CrtSignerV4.js
CHANGED
|
@@ -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
|
-
|
|
10
|
-
|
|
11
|
-
|
|
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
|
-
|
|
15
|
-
|
|
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
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
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
|
-
|
|
132
|
+
var queryString = crtPath.slice(start + 1, end);
|
|
75
133
|
return parseQueryString(queryString);
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
return
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
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 [
|
|
210
|
+
return __spreadArray([], __read(unsignableHeaders), false);
|
|
112
211
|
}
|
|
113
|
-
|
|
114
|
-
for (
|
|
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 [
|
|
218
|
+
return __spreadArray([], __read(result), false);
|
|
120
219
|
}
|
package/dist-es/constants.js
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
export
|
|
2
|
-
export
|
|
3
|
-
export
|
|
4
|
-
export
|
|
5
|
-
export
|
|
6
|
-
export
|
|
7
|
-
export
|
|
8
|
-
export
|
|
9
|
-
export
|
|
10
|
-
export
|
|
11
|
-
export
|
|
12
|
-
export
|
|
13
|
-
export
|
|
14
|
-
export
|
|
15
|
-
export
|
|
16
|
-
export
|
|
17
|
-
export
|
|
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
|
|
35
|
-
export
|
|
36
|
-
export
|
|
37
|
-
export
|
|
38
|
-
export
|
|
39
|
-
export
|
|
40
|
-
export
|
|
41
|
-
export
|
|
42
|
-
export
|
|
43
|
-
export
|
|
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;
|
package/dist-es/headerUtil.js
CHANGED
|
@@ -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
|
-
|
|
4
|
-
|
|
5
|
-
|
|
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
|
-
|
|
13
|
-
|
|
14
|
-
|
|
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
|
-
|
|
22
|
-
|
|
23
|
-
|
|
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
|
}
|
package/dist-es/suite.fixture.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
export
|
|
2
|
-
export
|
|
3
|
-
export
|
|
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
|
|
8
|
-
export
|
|
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.
|
|
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.
|
|
25
|
-
"@aws-sdk/querystring-parser": "3.
|
|
26
|
-
"@aws-sdk/signature-v4": "3.
|
|
27
|
-
"@aws-sdk/util-hex-encoding": "3.
|
|
28
|
-
"@aws-sdk/util-middleware": "3.
|
|
29
|
-
"@aws-sdk/util-uri-escape": "3.
|
|
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.
|
|
36
|
-
"@aws-sdk/types": "3.
|
|
37
|
-
"@aws-sdk/util-buffer-from": "3.
|
|
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",
|