@aws-sdk/signature-v4
Advanced tools
Comparing version 1.0.0-gamma.5 to 1.0.0-gamma.6
@@ -23,16 +23,4 @@ "use strict"; | ||
this.applyChecksum = typeof applyChecksum === "boolean" ? applyChecksum : true; | ||
if (typeof region === "string") { | ||
var promisified_1 = Promise.resolve(region); | ||
this.regionProvider = function () { return promisified_1; }; | ||
} | ||
else { | ||
this.regionProvider = region; | ||
} | ||
if (typeof credentials === "object") { | ||
var promisified_2 = Promise.resolve(credentials); | ||
this.credentialProvider = function () { return promisified_2; }; | ||
} | ||
else { | ||
this.credentialProvider = credentials; | ||
} | ||
this.regionProvider = normalizeRegionProvider(region); | ||
this.credentialProvider = normalizeCredentialsProvider(credentials); | ||
} | ||
@@ -42,9 +30,19 @@ SignatureV4.prototype.presign = function (originalRequest, options) { | ||
return tslib_1.__awaiter(this, void 0, void 0, function () { | ||
var _a, region, credentials, _b, signingDate, _c, expiresIn, unsignableHeaders, signableHeaders, _d, longDate, shortDate, scope, request, canonicalHeaders, _e, _f, _g, _h, _j, _k; | ||
var _a, signingDate, _b, expiresIn, unsignableHeaders, signableHeaders, signingRegion, signingService, credentials, region, _c, _d, longDate, shortDate, scope, request, canonicalHeaders, _e, _f, _g, _h, _j, _k; | ||
return tslib_1.__generator(this, function (_l) { | ||
switch (_l.label) { | ||
case 0: return [4 /*yield*/, Promise.all([this.regionProvider(), this.credentialProvider()])]; | ||
case 0: | ||
_a = options.signingDate, signingDate = _a === void 0 ? new Date() : _a, _b = options.expiresIn, expiresIn = _b === void 0 ? 3600 : _b, unsignableHeaders = options.unsignableHeaders, signableHeaders = options.signableHeaders, signingRegion = options.signingRegion, signingService = options.signingService; | ||
return [4 /*yield*/, this.credentialProvider()]; | ||
case 1: | ||
_a = tslib_1.__read.apply(void 0, [_l.sent(), 2]), region = _a[0], credentials = _a[1]; | ||
_b = options.signingDate, signingDate = _b === void 0 ? new Date() : _b, _c = options.expiresIn, expiresIn = _c === void 0 ? 3600 : _c, unsignableHeaders = options.unsignableHeaders, signableHeaders = options.signableHeaders; | ||
credentials = _l.sent(); | ||
if (!(signingRegion !== null && signingRegion !== void 0)) return [3 /*break*/, 2]; | ||
_c = signingRegion; | ||
return [3 /*break*/, 4]; | ||
case 2: return [4 /*yield*/, this.regionProvider()]; | ||
case 3: | ||
_c = (_l.sent()); | ||
_l.label = 4; | ||
case 4: | ||
region = _c; | ||
_d = formatDate(signingDate), longDate = _d.longDate, shortDate = _d.shortDate; | ||
@@ -54,3 +52,3 @@ if (expiresIn > constants_1.MAX_PRESIGNED_TTL) { | ||
} | ||
scope = credentialDerivation_1.createScope(shortDate, region, this.service); | ||
scope = credentialDerivation_1.createScope(shortDate, region, signingService !== null && signingService !== void 0 ? signingService : this.service); | ||
request = moveHeadersToQuery_1.moveHeadersToQuery(prepareRequest_1.prepareRequest(originalRequest)); | ||
@@ -71,8 +69,8 @@ if (credentials.sessionToken) { | ||
scope, | ||
this.getSigningKey(credentials, region, shortDate)]; | ||
this.getSigningKey(credentials, region, shortDate, signingService)]; | ||
_j = this.createCanonicalRequest; | ||
_k = [request, canonicalHeaders]; | ||
return [4 /*yield*/, getPayloadHash_1.getPayloadHash(originalRequest, this.sha256)]; | ||
case 2: return [4 /*yield*/, _g.apply(this, _h.concat([_j.apply(this, _k.concat([_l.sent()]))]))]; | ||
case 3: | ||
case 5: return [4 /*yield*/, _g.apply(this, _h.concat([_j.apply(this, _k.concat([_l.sent()]))]))]; | ||
case 6: | ||
_e[_f] = _l.sent(); | ||
@@ -102,14 +100,21 @@ return [2 /*return*/, request]; | ||
var headers = _a.headers, payload = _a.payload; | ||
var _c = _b.signingDate, signingDate = _c === void 0 ? new Date() : _c, priorSignature = _b.priorSignature; | ||
var _c = _b.signingDate, signingDate = _c === void 0 ? new Date() : _c, priorSignature = _b.priorSignature, signingRegion = _b.signingRegion, signingService = _b.signingService; | ||
return tslib_1.__awaiter(this, void 0, void 0, function () { | ||
var _d, region, _e, shortDate, longDate, scope, hashedPayload, hash, hashedHeaders, _f, stringToSign; | ||
var region, _d, _e, shortDate, longDate, scope, hashedPayload, hash, hashedHeaders, _f, stringToSign; | ||
return tslib_1.__generator(this, function (_g) { | ||
switch (_g.label) { | ||
case 0: return [4 /*yield*/, Promise.all([this.regionProvider(), this.credentialProvider()])]; | ||
case 1: | ||
_d = tslib_1.__read.apply(void 0, [_g.sent(), 1]), region = _d[0]; | ||
case 0: | ||
if (!(signingRegion !== null && signingRegion !== void 0)) return [3 /*break*/, 1]; | ||
_d = signingRegion; | ||
return [3 /*break*/, 3]; | ||
case 1: return [4 /*yield*/, this.regionProvider()]; | ||
case 2: | ||
_d = (_g.sent()); | ||
_g.label = 3; | ||
case 3: | ||
region = _d; | ||
_e = formatDate(signingDate), shortDate = _e.shortDate, longDate = _e.longDate; | ||
scope = credentialDerivation_1.createScope(shortDate, region, this.service); | ||
scope = credentialDerivation_1.createScope(shortDate, region, signingService !== null && signingService !== void 0 ? signingService : this.service); | ||
return [4 /*yield*/, getPayloadHash_1.getPayloadHash({ headers: {}, body: payload }, this.sha256)]; | ||
case 2: | ||
case 4: | ||
hashedPayload = _g.sent(); | ||
@@ -120,3 +125,3 @@ hash = new this.sha256(); | ||
return [4 /*yield*/, hash.digest()]; | ||
case 3: | ||
case 5: | ||
hashedHeaders = _f.apply(void 0, [_g.sent()]); | ||
@@ -131,3 +136,3 @@ stringToSign = [ | ||
].join("\n"); | ||
return [2 /*return*/, this.signString(stringToSign, { signingDate: signingDate })]; | ||
return [2 /*return*/, this.signString(stringToSign, { signingDate: signingDate, signingRegion: region, signingService: signingService })]; | ||
} | ||
@@ -138,19 +143,28 @@ }); | ||
SignatureV4.prototype.signString = function (stringToSign, _a) { | ||
var _b = (_a === void 0 ? {} : _a).signingDate, signingDate = _b === void 0 ? new Date() : _b; | ||
var _b = _a === void 0 ? {} : _a, _c = _b.signingDate, signingDate = _c === void 0 ? new Date() : _c, signingRegion = _b.signingRegion, signingService = _b.signingService; | ||
return tslib_1.__awaiter(this, void 0, void 0, function () { | ||
var _c, region, credentials, shortDate, hash, _d, _e, _f; | ||
return tslib_1.__generator(this, function (_g) { | ||
switch (_g.label) { | ||
case 0: return [4 /*yield*/, Promise.all([this.regionProvider(), this.credentialProvider()])]; | ||
var credentials, region, _d, shortDate, hash, _e, _f, _g; | ||
return tslib_1.__generator(this, function (_h) { | ||
switch (_h.label) { | ||
case 0: return [4 /*yield*/, this.credentialProvider()]; | ||
case 1: | ||
_c = tslib_1.__read.apply(void 0, [_g.sent(), 2]), region = _c[0], credentials = _c[1]; | ||
credentials = _h.sent(); | ||
if (!(signingRegion !== null && signingRegion !== void 0)) return [3 /*break*/, 2]; | ||
_d = signingRegion; | ||
return [3 /*break*/, 4]; | ||
case 2: return [4 /*yield*/, this.regionProvider()]; | ||
case 3: | ||
_d = (_h.sent()); | ||
_h.label = 4; | ||
case 4: | ||
region = _d; | ||
shortDate = formatDate(signingDate).shortDate; | ||
_e = (_d = this.sha256).bind; | ||
return [4 /*yield*/, this.getSigningKey(credentials, region, shortDate)]; | ||
case 2: | ||
hash = new (_e.apply(_d, [void 0, _g.sent()]))(); | ||
_f = (_e = this.sha256).bind; | ||
return [4 /*yield*/, this.getSigningKey(credentials, region, shortDate, signingService)]; | ||
case 5: | ||
hash = new (_f.apply(_e, [void 0, _h.sent()]))(); | ||
hash.update(stringToSign); | ||
_f = util_hex_encoding_1.toHex; | ||
_g = util_hex_encoding_1.toHex; | ||
return [4 /*yield*/, hash.digest()]; | ||
case 3: return [2 /*return*/, _f.apply(void 0, [_g.sent()])]; | ||
case 6: return [2 /*return*/, _g.apply(void 0, [_h.sent()])]; | ||
} | ||
@@ -161,13 +175,22 @@ }); | ||
SignatureV4.prototype.signRequest = function (requestToSign, _a) { | ||
var _b = _a === void 0 ? {} : _a, _c = _b.signingDate, signingDate = _c === void 0 ? new Date() : _c, signableHeaders = _b.signableHeaders, unsignableHeaders = _b.unsignableHeaders; | ||
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; | ||
return tslib_1.__awaiter(this, void 0, void 0, function () { | ||
var _d, region, credentials, request, _e, longDate, shortDate, scope, payloadHash, canonicalHeaders, signature; | ||
var credentials, region, _d, request, _e, longDate, shortDate, scope, payloadHash, canonicalHeaders, signature; | ||
return tslib_1.__generator(this, function (_f) { | ||
switch (_f.label) { | ||
case 0: return [4 /*yield*/, Promise.all([this.regionProvider(), this.credentialProvider()])]; | ||
case 0: return [4 /*yield*/, this.credentialProvider()]; | ||
case 1: | ||
_d = tslib_1.__read.apply(void 0, [_f.sent(), 2]), region = _d[0], credentials = _d[1]; | ||
credentials = _f.sent(); | ||
if (!(signingRegion !== null && signingRegion !== void 0)) return [3 /*break*/, 2]; | ||
_d = signingRegion; | ||
return [3 /*break*/, 4]; | ||
case 2: return [4 /*yield*/, this.regionProvider()]; | ||
case 3: | ||
_d = (_f.sent()); | ||
_f.label = 4; | ||
case 4: | ||
region = _d; | ||
request = prepareRequest_1.prepareRequest(requestToSign); | ||
_e = formatDate(signingDate), longDate = _e.longDate, shortDate = _e.shortDate; | ||
scope = credentialDerivation_1.createScope(shortDate, region, this.service); | ||
scope = credentialDerivation_1.createScope(shortDate, region, signingService !== null && signingService !== void 0 ? signingService : this.service); | ||
request.headers[constants_1.AMZ_DATE_HEADER] = longDate; | ||
@@ -178,3 +201,3 @@ if (credentials.sessionToken) { | ||
return [4 /*yield*/, getPayloadHash_1.getPayloadHash(request, this.sha256)]; | ||
case 2: | ||
case 5: | ||
payloadHash = _f.sent(); | ||
@@ -185,4 +208,4 @@ if (!hasHeader_1.hasHeader(constants_1.SHA256_HEADER, request.headers) && this.applyChecksum) { | ||
canonicalHeaders = getCanonicalHeaders_1.getCanonicalHeaders(request, unsignableHeaders, signableHeaders); | ||
return [4 /*yield*/, this.getSignature(longDate, scope, this.getSigningKey(credentials, region, shortDate), this.createCanonicalRequest(request, canonicalHeaders, payloadHash))]; | ||
case 3: | ||
return [4 /*yield*/, this.getSignature(longDate, scope, this.getSigningKey(credentials, region, shortDate, signingService), this.createCanonicalRequest(request, canonicalHeaders, payloadHash))]; | ||
case 6: | ||
signature = _f.sent(); | ||
@@ -247,4 +270,4 @@ request.headers[constants_1.AUTH_HEADER] = | ||
}; | ||
SignatureV4.prototype.getSigningKey = function (credentials, region, shortDate) { | ||
return credentialDerivation_1.getSigningKey(this.sha256, credentials, shortDate, region, this.service); | ||
SignatureV4.prototype.getSigningKey = function (credentials, region, shortDate, service) { | ||
return credentialDerivation_1.getSigningKey(this.sha256, credentials, shortDate, region, service || this.service); | ||
}; | ||
@@ -254,3 +277,3 @@ return SignatureV4; | ||
exports.SignatureV4 = SignatureV4; | ||
function formatDate(now) { | ||
var formatDate = function (now) { | ||
var longDate = utilDate_1.iso8601(now).replace(/[\-:]/g, ""); | ||
@@ -261,6 +284,22 @@ return { | ||
}; | ||
} | ||
function getCanonicalHeaderList(headers) { | ||
return Object.keys(headers).sort().join(";"); | ||
} | ||
}; | ||
var getCanonicalHeaderList = function (headers) { return Object.keys(headers).sort().join(";"); }; | ||
var normalizeRegionProvider = function (region) { | ||
if (typeof region === "string") { | ||
var promisified_1 = Promise.resolve(region); | ||
return function () { return promisified_1; }; | ||
} | ||
else { | ||
return region; | ||
} | ||
}; | ||
var normalizeCredentialsProvider = function (credentials) { | ||
if (typeof credentials === "object") { | ||
var promisified_2 = Promise.resolve(credentials); | ||
return function () { return promisified_2; }; | ||
} | ||
else { | ||
return credentials; | ||
} | ||
}; | ||
//# sourceMappingURL=SignatureV4.js.map |
@@ -1,2 +0,2 @@ | ||
import { __awaiter, __generator, __read } from "tslib"; | ||
import { __awaiter, __generator } from "tslib"; | ||
import { toHex } from "@aws-sdk/util-hex-encoding"; | ||
@@ -20,16 +20,4 @@ import { ALGORITHM_IDENTIFIER, ALGORITHM_QUERY_PARAM, AMZ_DATE_HEADER, AMZ_DATE_QUERY_PARAM, AUTH_HEADER, CREDENTIAL_QUERY_PARAM, EVENT_ALGORITHM_IDENTIFIER, EXPIRES_QUERY_PARAM, MAX_PRESIGNED_TTL, SHA256_HEADER, SIGNATURE_QUERY_PARAM, SIGNED_HEADERS_QUERY_PARAM, TOKEN_HEADER, TOKEN_QUERY_PARAM, } from "./constants"; | ||
this.applyChecksum = typeof applyChecksum === "boolean" ? applyChecksum : true; | ||
if (typeof region === "string") { | ||
var promisified_1 = Promise.resolve(region); | ||
this.regionProvider = function () { return promisified_1; }; | ||
} | ||
else { | ||
this.regionProvider = region; | ||
} | ||
if (typeof credentials === "object") { | ||
var promisified_2 = Promise.resolve(credentials); | ||
this.credentialProvider = function () { return promisified_2; }; | ||
} | ||
else { | ||
this.credentialProvider = credentials; | ||
} | ||
this.regionProvider = normalizeRegionProvider(region); | ||
this.credentialProvider = normalizeCredentialsProvider(credentials); | ||
} | ||
@@ -39,9 +27,19 @@ SignatureV4.prototype.presign = function (originalRequest, options) { | ||
return __awaiter(this, void 0, void 0, function () { | ||
var _a, region, credentials, _b, signingDate, _c, expiresIn, unsignableHeaders, signableHeaders, _d, longDate, shortDate, scope, request, canonicalHeaders, _e, _f, _g, _h, _j, _k; | ||
var _a, signingDate, _b, expiresIn, unsignableHeaders, signableHeaders, signingRegion, signingService, credentials, region, _c, _d, longDate, shortDate, scope, request, canonicalHeaders, _e, _f, _g, _h, _j, _k; | ||
return __generator(this, function (_l) { | ||
switch (_l.label) { | ||
case 0: return [4 /*yield*/, Promise.all([this.regionProvider(), this.credentialProvider()])]; | ||
case 0: | ||
_a = options.signingDate, signingDate = _a === void 0 ? new Date() : _a, _b = options.expiresIn, expiresIn = _b === void 0 ? 3600 : _b, unsignableHeaders = options.unsignableHeaders, signableHeaders = options.signableHeaders, signingRegion = options.signingRegion, signingService = options.signingService; | ||
return [4 /*yield*/, this.credentialProvider()]; | ||
case 1: | ||
_a = __read.apply(void 0, [_l.sent(), 2]), region = _a[0], credentials = _a[1]; | ||
_b = options.signingDate, signingDate = _b === void 0 ? new Date() : _b, _c = options.expiresIn, expiresIn = _c === void 0 ? 3600 : _c, unsignableHeaders = options.unsignableHeaders, signableHeaders = options.signableHeaders; | ||
credentials = _l.sent(); | ||
if (!(signingRegion !== null && signingRegion !== void 0)) return [3 /*break*/, 2]; | ||
_c = signingRegion; | ||
return [3 /*break*/, 4]; | ||
case 2: return [4 /*yield*/, this.regionProvider()]; | ||
case 3: | ||
_c = (_l.sent()); | ||
_l.label = 4; | ||
case 4: | ||
region = _c; | ||
_d = formatDate(signingDate), longDate = _d.longDate, shortDate = _d.shortDate; | ||
@@ -51,3 +49,3 @@ if (expiresIn > MAX_PRESIGNED_TTL) { | ||
} | ||
scope = createScope(shortDate, region, this.service); | ||
scope = createScope(shortDate, region, signingService !== null && signingService !== void 0 ? signingService : this.service); | ||
request = moveHeadersToQuery(prepareRequest(originalRequest)); | ||
@@ -68,8 +66,8 @@ if (credentials.sessionToken) { | ||
scope, | ||
this.getSigningKey(credentials, region, shortDate)]; | ||
this.getSigningKey(credentials, region, shortDate, signingService)]; | ||
_j = this.createCanonicalRequest; | ||
_k = [request, canonicalHeaders]; | ||
return [4 /*yield*/, getPayloadHash(originalRequest, this.sha256)]; | ||
case 2: return [4 /*yield*/, _g.apply(this, _h.concat([_j.apply(this, _k.concat([_l.sent()]))]))]; | ||
case 3: | ||
case 5: return [4 /*yield*/, _g.apply(this, _h.concat([_j.apply(this, _k.concat([_l.sent()]))]))]; | ||
case 6: | ||
_e[_f] = _l.sent(); | ||
@@ -99,14 +97,21 @@ return [2 /*return*/, request]; | ||
var headers = _a.headers, payload = _a.payload; | ||
var _c = _b.signingDate, signingDate = _c === void 0 ? new Date() : _c, priorSignature = _b.priorSignature; | ||
var _c = _b.signingDate, signingDate = _c === void 0 ? new Date() : _c, priorSignature = _b.priorSignature, signingRegion = _b.signingRegion, signingService = _b.signingService; | ||
return __awaiter(this, void 0, void 0, function () { | ||
var _d, region, _e, shortDate, longDate, scope, hashedPayload, hash, hashedHeaders, _f, stringToSign; | ||
var region, _d, _e, shortDate, longDate, scope, hashedPayload, hash, hashedHeaders, _f, stringToSign; | ||
return __generator(this, function (_g) { | ||
switch (_g.label) { | ||
case 0: return [4 /*yield*/, Promise.all([this.regionProvider(), this.credentialProvider()])]; | ||
case 1: | ||
_d = __read.apply(void 0, [_g.sent(), 1]), region = _d[0]; | ||
case 0: | ||
if (!(signingRegion !== null && signingRegion !== void 0)) return [3 /*break*/, 1]; | ||
_d = signingRegion; | ||
return [3 /*break*/, 3]; | ||
case 1: return [4 /*yield*/, this.regionProvider()]; | ||
case 2: | ||
_d = (_g.sent()); | ||
_g.label = 3; | ||
case 3: | ||
region = _d; | ||
_e = formatDate(signingDate), shortDate = _e.shortDate, longDate = _e.longDate; | ||
scope = createScope(shortDate, region, this.service); | ||
scope = createScope(shortDate, region, signingService !== null && signingService !== void 0 ? signingService : this.service); | ||
return [4 /*yield*/, getPayloadHash({ headers: {}, body: payload }, this.sha256)]; | ||
case 2: | ||
case 4: | ||
hashedPayload = _g.sent(); | ||
@@ -117,3 +122,3 @@ hash = new this.sha256(); | ||
return [4 /*yield*/, hash.digest()]; | ||
case 3: | ||
case 5: | ||
hashedHeaders = _f.apply(void 0, [_g.sent()]); | ||
@@ -128,3 +133,3 @@ stringToSign = [ | ||
].join("\n"); | ||
return [2 /*return*/, this.signString(stringToSign, { signingDate: signingDate })]; | ||
return [2 /*return*/, this.signString(stringToSign, { signingDate: signingDate, signingRegion: region, signingService: signingService })]; | ||
} | ||
@@ -135,19 +140,28 @@ }); | ||
SignatureV4.prototype.signString = function (stringToSign, _a) { | ||
var _b = (_a === void 0 ? {} : _a).signingDate, signingDate = _b === void 0 ? new Date() : _b; | ||
var _b = _a === void 0 ? {} : _a, _c = _b.signingDate, signingDate = _c === void 0 ? new Date() : _c, signingRegion = _b.signingRegion, signingService = _b.signingService; | ||
return __awaiter(this, void 0, void 0, function () { | ||
var _c, region, credentials, shortDate, hash, _d, _e, _f; | ||
return __generator(this, function (_g) { | ||
switch (_g.label) { | ||
case 0: return [4 /*yield*/, Promise.all([this.regionProvider(), this.credentialProvider()])]; | ||
var credentials, region, _d, shortDate, hash, _e, _f, _g; | ||
return __generator(this, function (_h) { | ||
switch (_h.label) { | ||
case 0: return [4 /*yield*/, this.credentialProvider()]; | ||
case 1: | ||
_c = __read.apply(void 0, [_g.sent(), 2]), region = _c[0], credentials = _c[1]; | ||
credentials = _h.sent(); | ||
if (!(signingRegion !== null && signingRegion !== void 0)) return [3 /*break*/, 2]; | ||
_d = signingRegion; | ||
return [3 /*break*/, 4]; | ||
case 2: return [4 /*yield*/, this.regionProvider()]; | ||
case 3: | ||
_d = (_h.sent()); | ||
_h.label = 4; | ||
case 4: | ||
region = _d; | ||
shortDate = formatDate(signingDate).shortDate; | ||
_e = (_d = this.sha256).bind; | ||
return [4 /*yield*/, this.getSigningKey(credentials, region, shortDate)]; | ||
case 2: | ||
hash = new (_e.apply(_d, [void 0, _g.sent()]))(); | ||
_f = (_e = this.sha256).bind; | ||
return [4 /*yield*/, this.getSigningKey(credentials, region, shortDate, signingService)]; | ||
case 5: | ||
hash = new (_f.apply(_e, [void 0, _h.sent()]))(); | ||
hash.update(stringToSign); | ||
_f = toHex; | ||
_g = toHex; | ||
return [4 /*yield*/, hash.digest()]; | ||
case 3: return [2 /*return*/, _f.apply(void 0, [_g.sent()])]; | ||
case 6: return [2 /*return*/, _g.apply(void 0, [_h.sent()])]; | ||
} | ||
@@ -158,13 +172,22 @@ }); | ||
SignatureV4.prototype.signRequest = function (requestToSign, _a) { | ||
var _b = _a === void 0 ? {} : _a, _c = _b.signingDate, signingDate = _c === void 0 ? new Date() : _c, signableHeaders = _b.signableHeaders, unsignableHeaders = _b.unsignableHeaders; | ||
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; | ||
return __awaiter(this, void 0, void 0, function () { | ||
var _d, region, credentials, request, _e, longDate, shortDate, scope, payloadHash, canonicalHeaders, signature; | ||
var credentials, region, _d, request, _e, longDate, shortDate, scope, payloadHash, canonicalHeaders, signature; | ||
return __generator(this, function (_f) { | ||
switch (_f.label) { | ||
case 0: return [4 /*yield*/, Promise.all([this.regionProvider(), this.credentialProvider()])]; | ||
case 0: return [4 /*yield*/, this.credentialProvider()]; | ||
case 1: | ||
_d = __read.apply(void 0, [_f.sent(), 2]), region = _d[0], credentials = _d[1]; | ||
credentials = _f.sent(); | ||
if (!(signingRegion !== null && signingRegion !== void 0)) return [3 /*break*/, 2]; | ||
_d = signingRegion; | ||
return [3 /*break*/, 4]; | ||
case 2: return [4 /*yield*/, this.regionProvider()]; | ||
case 3: | ||
_d = (_f.sent()); | ||
_f.label = 4; | ||
case 4: | ||
region = _d; | ||
request = prepareRequest(requestToSign); | ||
_e = formatDate(signingDate), longDate = _e.longDate, shortDate = _e.shortDate; | ||
scope = createScope(shortDate, region, this.service); | ||
scope = createScope(shortDate, region, signingService !== null && signingService !== void 0 ? signingService : this.service); | ||
request.headers[AMZ_DATE_HEADER] = longDate; | ||
@@ -175,3 +198,3 @@ if (credentials.sessionToken) { | ||
return [4 /*yield*/, getPayloadHash(request, this.sha256)]; | ||
case 2: | ||
case 5: | ||
payloadHash = _f.sent(); | ||
@@ -182,4 +205,4 @@ if (!hasHeader(SHA256_HEADER, request.headers) && this.applyChecksum) { | ||
canonicalHeaders = getCanonicalHeaders(request, unsignableHeaders, signableHeaders); | ||
return [4 /*yield*/, this.getSignature(longDate, scope, this.getSigningKey(credentials, region, shortDate), this.createCanonicalRequest(request, canonicalHeaders, payloadHash))]; | ||
case 3: | ||
return [4 /*yield*/, this.getSignature(longDate, scope, this.getSigningKey(credentials, region, shortDate, signingService), this.createCanonicalRequest(request, canonicalHeaders, payloadHash))]; | ||
case 6: | ||
signature = _f.sent(); | ||
@@ -244,4 +267,4 @@ request.headers[AUTH_HEADER] = | ||
}; | ||
SignatureV4.prototype.getSigningKey = function (credentials, region, shortDate) { | ||
return getSigningKey(this.sha256, credentials, shortDate, region, this.service); | ||
SignatureV4.prototype.getSigningKey = function (credentials, region, shortDate, service) { | ||
return getSigningKey(this.sha256, credentials, shortDate, region, service || this.service); | ||
}; | ||
@@ -251,3 +274,3 @@ return SignatureV4; | ||
export { SignatureV4 }; | ||
function formatDate(now) { | ||
var formatDate = function (now) { | ||
var longDate = iso8601(now).replace(/[\-:]/g, ""); | ||
@@ -258,6 +281,22 @@ return { | ||
}; | ||
} | ||
function getCanonicalHeaderList(headers) { | ||
return Object.keys(headers).sort().join(";"); | ||
} | ||
}; | ||
var getCanonicalHeaderList = function (headers) { return Object.keys(headers).sort().join(";"); }; | ||
var normalizeRegionProvider = function (region) { | ||
if (typeof region === "string") { | ||
var promisified_1 = Promise.resolve(region); | ||
return function () { return promisified_1; }; | ||
} | ||
else { | ||
return region; | ||
} | ||
}; | ||
var normalizeCredentialsProvider = function (credentials) { | ||
if (typeof credentials === "object") { | ||
var promisified_2 = Promise.resolve(credentials); | ||
return function () { return promisified_2; }; | ||
} | ||
else { | ||
return credentials; | ||
} | ||
}; | ||
//# sourceMappingURL=SignatureV4.js.map |
{ | ||
"name": "@aws-sdk/signature-v4", | ||
"version": "1.0.0-gamma.5", | ||
"version": "1.0.0-gamma.6", | ||
"description": "A standalone implementation of the AWS Signature V4 request signing algorithm", | ||
@@ -22,6 +22,6 @@ "main": "./dist/cjs/index.js", | ||
"dependencies": { | ||
"@aws-sdk/is-array-buffer": "1.0.0-gamma.5", | ||
"@aws-sdk/types": "1.0.0-gamma.4", | ||
"@aws-sdk/util-hex-encoding": "1.0.0-gamma.5", | ||
"@aws-sdk/util-uri-escape": "1.0.0-gamma.5", | ||
"@aws-sdk/is-array-buffer": "1.0.0-gamma.6", | ||
"@aws-sdk/types": "1.0.0-gamma.5", | ||
"@aws-sdk/util-hex-encoding": "1.0.0-gamma.6", | ||
"@aws-sdk/util-uri-escape": "1.0.0-gamma.6", | ||
"tslib": "^1.8.0" | ||
@@ -31,8 +31,8 @@ }, | ||
"@aws-crypto/sha256-js": "^1.0.0-alpha.0", | ||
"@aws-sdk/protocol-http": "1.0.0-gamma.5", | ||
"@aws-sdk/util-buffer-from": "1.0.0-gamma.5", | ||
"@aws-sdk/protocol-http": "1.0.0-gamma.6", | ||
"@aws-sdk/util-buffer-from": "1.0.0-gamma.6", | ||
"@types/jest": "^26.0.4", | ||
"jest": "^26.1.0", | ||
"typescript": "~3.9.3" | ||
"typescript": "~4.0.2" | ||
} | ||
} |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
236996
2481
+ Added@aws-sdk/is-array-buffer@1.0.0-gamma.6(transitive)
+ Added@aws-sdk/types@1.0.0-gamma.5(transitive)
+ Added@aws-sdk/util-hex-encoding@1.0.0-gamma.6(transitive)
+ Added@aws-sdk/util-uri-escape@1.0.0-gamma.6(transitive)
- Removed@aws-sdk/is-array-buffer@1.0.0-gamma.5(transitive)
- Removed@aws-sdk/types@1.0.0-gamma.4(transitive)
- Removed@aws-sdk/util-hex-encoding@1.0.0-gamma.5(transitive)
- Removed@aws-sdk/util-uri-escape@1.0.0-gamma.5(transitive)
Updated@aws-sdk/types@1.0.0-gamma.5