@aws-sdk/body-checksum-browser 3.34.0 → 3.35.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-cjs/index.js +30 -0
- package/dist-es/index.js +41 -0
- package/{dist/types → dist-types}/index.d.ts +0 -0
- package/{dist/types → dist-types}/ts3.4/index.d.ts +0 -0
- package/package.json +13 -13
- package/tsconfig.cjs.json +1 -1
- package/tsconfig.es.json +1 -1
- package/tsconfig.types.json +1 -1
- package/dist/cjs/index.js +0 -30
- package/dist/es/index.js +0 -41
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.35.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.34.0...v3.35.0) (2021-10-04)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @aws-sdk/body-checksum-browser
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
6
14
|
# [3.34.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.33.0...v3.34.0) (2021-09-24)
|
|
7
15
|
|
|
8
16
|
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.bodyChecksumGenerator = void 0;
|
|
4
|
+
const chunked_blob_reader_1 = require("@aws-sdk/chunked-blob-reader");
|
|
5
|
+
const sha256_tree_hash_1 = require("@aws-sdk/sha256-tree-hash");
|
|
6
|
+
const util_hex_encoding_1 = require("@aws-sdk/util-hex-encoding");
|
|
7
|
+
const MiB = 1024 * 1024;
|
|
8
|
+
async function bodyChecksumGenerator(request, options) {
|
|
9
|
+
const contentHash = new options.sha256();
|
|
10
|
+
const treeHash = new sha256_tree_hash_1.TreeHash(options.sha256, options.utf8Decoder);
|
|
11
|
+
const { body } = request;
|
|
12
|
+
if (typeof body === "string") {
|
|
13
|
+
contentHash.update(body);
|
|
14
|
+
treeHash.update(body);
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
if (Boolean(body) && Object.prototype.toString.call(body) === "[object Blob]") {
|
|
18
|
+
await chunked_blob_reader_1.blobReader(body, (chunk) => {
|
|
19
|
+
treeHash === null || treeHash === void 0 ? void 0 : treeHash.update(chunk);
|
|
20
|
+
contentHash === null || contentHash === void 0 ? void 0 : contentHash.update(chunk);
|
|
21
|
+
}, MiB);
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
throw new Error("Unable to calculate checksums for non-blob streams.");
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
return [util_hex_encoding_1.toHex(await contentHash.digest()), util_hex_encoding_1.toHex(await treeHash.digest())];
|
|
28
|
+
}
|
|
29
|
+
exports.bodyChecksumGenerator = bodyChecksumGenerator;
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsc0VBQTBEO0FBQzFELGdFQUFxRDtBQUVyRCxrRUFBbUQ7QUFFbkQsTUFBTSxHQUFHLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQztBQUVqQixLQUFLLFVBQVUscUJBQXFCLENBQ3pDLE9BQW9CLEVBQ3BCLE9BR0M7SUFFRCxNQUFNLFdBQVcsR0FBRyxJQUFJLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUN6QyxNQUFNLFFBQVEsR0FBRyxJQUFJLDJCQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDbkUsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLE9BQU8sQ0FBQztJQUN6QixJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsRUFBRTtRQUM1QixXQUFXLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pCLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDdkI7U0FBTTtRQUNMLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxlQUFlLEVBQUU7WUFDN0UsTUFBTSxnQ0FBVSxDQUNkLElBQUksRUFDSixDQUFDLEtBQVUsRUFBRSxFQUFFO2dCQUNiLFFBQVEsYUFBUixRQUFRLHVCQUFSLFFBQVEsQ0FBRSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3hCLFdBQVcsYUFBWCxXQUFXLHVCQUFYLFdBQVcsQ0FBRSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDN0IsQ0FBQyxFQUNELEdBQUcsQ0FDSixDQUFDO1NBQ0g7YUFBTTtZQUNMLE1BQU0sSUFBSSxLQUFLLENBQUMscURBQXFELENBQUMsQ0FBQztTQUN4RTtLQUNGO0lBRUQsT0FBTyxDQUFDLHlCQUFLLENBQUMsTUFBTSxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSx5QkFBSyxDQUFDLE1BQU0sUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztBQUM3RSxDQUFDO0FBN0JELHNEQTZCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGJsb2JSZWFkZXIgfSBmcm9tIFwiQGF3cy1zZGsvY2h1bmtlZC1ibG9iLXJlYWRlclwiO1xuaW1wb3J0IHsgVHJlZUhhc2ggfSBmcm9tIFwiQGF3cy1zZGsvc2hhMjU2LXRyZWUtaGFzaFwiO1xuaW1wb3J0IHsgRGVjb2RlciwgSGFzaENvbnN0cnVjdG9yLCBIdHRwUmVxdWVzdCB9IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuaW1wb3J0IHsgdG9IZXggfSBmcm9tIFwiQGF3cy1zZGsvdXRpbC1oZXgtZW5jb2RpbmdcIjtcblxuY29uc3QgTWlCID0gMTAyNCAqIDEwMjQ7XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBib2R5Q2hlY2tzdW1HZW5lcmF0b3IoXG4gIHJlcXVlc3Q6IEh0dHBSZXF1ZXN0LFxuICBvcHRpb25zOiB7XG4gICAgc2hhMjU2OiBIYXNoQ29uc3RydWN0b3I7XG4gICAgdXRmOERlY29kZXI6IERlY29kZXI7XG4gIH1cbik6IFByb21pc2U8W3N0cmluZywgc3RyaW5nXT4ge1xuICBjb25zdCBjb250ZW50SGFzaCA9IG5ldyBvcHRpb25zLnNoYTI1NigpO1xuICBjb25zdCB0cmVlSGFzaCA9IG5ldyBUcmVlSGFzaChvcHRpb25zLnNoYTI1Niwgb3B0aW9ucy51dGY4RGVjb2Rlcik7XG4gIGNvbnN0IHsgYm9keSB9ID0gcmVxdWVzdDtcbiAgaWYgKHR5cGVvZiBib2R5ID09PSBcInN0cmluZ1wiKSB7XG4gICAgY29udGVudEhhc2gudXBkYXRlKGJvZHkpO1xuICAgIHRyZWVIYXNoLnVwZGF0ZShib2R5KTtcbiAgfSBlbHNlIHtcbiAgICBpZiAoQm9vbGVhbihib2R5KSAmJiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoYm9keSkgPT09IFwiW29iamVjdCBCbG9iXVwiKSB7XG4gICAgICBhd2FpdCBibG9iUmVhZGVyKFxuICAgICAgICBib2R5LFxuICAgICAgICAoY2h1bms6IGFueSkgPT4ge1xuICAgICAgICAgIHRyZWVIYXNoPy51cGRhdGUoY2h1bmspO1xuICAgICAgICAgIGNvbnRlbnRIYXNoPy51cGRhdGUoY2h1bmspO1xuICAgICAgICB9LFxuICAgICAgICBNaUJcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIlVuYWJsZSB0byBjYWxjdWxhdGUgY2hlY2tzdW1zIGZvciBub24tYmxvYiBzdHJlYW1zLlwiKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gW3RvSGV4KGF3YWl0IGNvbnRlbnRIYXNoLmRpZ2VzdCgpKSwgdG9IZXgoYXdhaXQgdHJlZUhhc2guZGlnZXN0KCkpXTtcbn1cbiJdfQ==
|
package/dist-es/index.js
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { __awaiter, __generator } from "tslib";
|
|
2
|
+
import { blobReader } from "@aws-sdk/chunked-blob-reader";
|
|
3
|
+
import { TreeHash } from "@aws-sdk/sha256-tree-hash";
|
|
4
|
+
import { toHex } from "@aws-sdk/util-hex-encoding";
|
|
5
|
+
var MiB = 1024 * 1024;
|
|
6
|
+
export function bodyChecksumGenerator(request, options) {
|
|
7
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
8
|
+
var contentHash, treeHash, body, _a, _b, _c;
|
|
9
|
+
return __generator(this, function (_d) {
|
|
10
|
+
switch (_d.label) {
|
|
11
|
+
case 0:
|
|
12
|
+
contentHash = new options.sha256();
|
|
13
|
+
treeHash = new TreeHash(options.sha256, options.utf8Decoder);
|
|
14
|
+
body = request.body;
|
|
15
|
+
if (!(typeof body === "string")) return [3, 1];
|
|
16
|
+
contentHash.update(body);
|
|
17
|
+
treeHash.update(body);
|
|
18
|
+
return [3, 4];
|
|
19
|
+
case 1:
|
|
20
|
+
if (!(Boolean(body) && Object.prototype.toString.call(body) === "[object Blob]")) return [3, 3];
|
|
21
|
+
return [4, blobReader(body, function (chunk) {
|
|
22
|
+
treeHash === null || treeHash === void 0 ? void 0 : treeHash.update(chunk);
|
|
23
|
+
contentHash === null || contentHash === void 0 ? void 0 : contentHash.update(chunk);
|
|
24
|
+
}, MiB)];
|
|
25
|
+
case 2:
|
|
26
|
+
_d.sent();
|
|
27
|
+
return [3, 4];
|
|
28
|
+
case 3: throw new Error("Unable to calculate checksums for non-blob streams.");
|
|
29
|
+
case 4:
|
|
30
|
+
_a = toHex;
|
|
31
|
+
return [4, contentHash.digest()];
|
|
32
|
+
case 5:
|
|
33
|
+
_b = [_a.apply(void 0, [_d.sent()])];
|
|
34
|
+
_c = toHex;
|
|
35
|
+
return [4, treeHash.digest()];
|
|
36
|
+
case 6: return [2, _b.concat([_c.apply(void 0, [_d.sent()])])];
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFckQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRW5ELElBQU0sR0FBRyxHQUFHLElBQUksR0FBRyxJQUFJLENBQUM7QUFFeEIsTUFBTSxVQUFnQixxQkFBcUIsQ0FDekMsT0FBb0IsRUFDcEIsT0FHQzs7Ozs7O29CQUVLLFdBQVcsR0FBRyxJQUFJLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztvQkFDbkMsUUFBUSxHQUFHLElBQUksUUFBUSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO29CQUMzRCxJQUFJLEdBQUssT0FBTyxLQUFaLENBQWE7eUJBQ3JCLENBQUEsT0FBTyxJQUFJLEtBQUssUUFBUSxDQUFBLEVBQXhCLGNBQXdCO29CQUMxQixXQUFXLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUN6QixRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDOzs7eUJBRWxCLENBQUEsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxlQUFlLENBQUEsRUFBekUsY0FBeUU7b0JBQzNFLFdBQU0sVUFBVSxDQUNkLElBQUksRUFDSixVQUFDLEtBQVU7NEJBQ1QsUUFBUSxhQUFSLFFBQVEsdUJBQVIsUUFBUSxDQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQzs0QkFDeEIsV0FBVyxhQUFYLFdBQVcsdUJBQVgsV0FBVyxDQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQzt3QkFDN0IsQ0FBQyxFQUNELEdBQUcsQ0FDSixFQUFBOztvQkFQRCxTQU9DLENBQUM7O3dCQUVGLE1BQU0sSUFBSSxLQUFLLENBQUMscURBQXFELENBQUMsQ0FBQzs7b0JBSW5FLEtBQUEsS0FBSyxDQUFBO29CQUFDLFdBQU0sV0FBVyxDQUFDLE1BQU0sRUFBRSxFQUFBOzswQkFBaEMsa0JBQU0sU0FBMEIsRUFBQztvQkFBRSxLQUFBLEtBQUssQ0FBQTtvQkFBQyxXQUFNLFFBQVEsQ0FBQyxNQUFNLEVBQUUsRUFBQTt3QkFBeEUsc0JBQTJDLGtCQUFNLFNBQXVCLEVBQUMsSUFBRTs7OztDQUM1RSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGJsb2JSZWFkZXIgfSBmcm9tIFwiQGF3cy1zZGsvY2h1bmtlZC1ibG9iLXJlYWRlclwiO1xuaW1wb3J0IHsgVHJlZUhhc2ggfSBmcm9tIFwiQGF3cy1zZGsvc2hhMjU2LXRyZWUtaGFzaFwiO1xuaW1wb3J0IHsgRGVjb2RlciwgSGFzaENvbnN0cnVjdG9yLCBIdHRwUmVxdWVzdCB9IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuaW1wb3J0IHsgdG9IZXggfSBmcm9tIFwiQGF3cy1zZGsvdXRpbC1oZXgtZW5jb2RpbmdcIjtcblxuY29uc3QgTWlCID0gMTAyNCAqIDEwMjQ7XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBib2R5Q2hlY2tzdW1HZW5lcmF0b3IoXG4gIHJlcXVlc3Q6IEh0dHBSZXF1ZXN0LFxuICBvcHRpb25zOiB7XG4gICAgc2hhMjU2OiBIYXNoQ29uc3RydWN0b3I7XG4gICAgdXRmOERlY29kZXI6IERlY29kZXI7XG4gIH1cbik6IFByb21pc2U8W3N0cmluZywgc3RyaW5nXT4ge1xuICBjb25zdCBjb250ZW50SGFzaCA9IG5ldyBvcHRpb25zLnNoYTI1NigpO1xuICBjb25zdCB0cmVlSGFzaCA9IG5ldyBUcmVlSGFzaChvcHRpb25zLnNoYTI1Niwgb3B0aW9ucy51dGY4RGVjb2Rlcik7XG4gIGNvbnN0IHsgYm9keSB9ID0gcmVxdWVzdDtcbiAgaWYgKHR5cGVvZiBib2R5ID09PSBcInN0cmluZ1wiKSB7XG4gICAgY29udGVudEhhc2gudXBkYXRlKGJvZHkpO1xuICAgIHRyZWVIYXNoLnVwZGF0ZShib2R5KTtcbiAgfSBlbHNlIHtcbiAgICBpZiAoQm9vbGVhbihib2R5KSAmJiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoYm9keSkgPT09IFwiW29iamVjdCBCbG9iXVwiKSB7XG4gICAgICBhd2FpdCBibG9iUmVhZGVyKFxuICAgICAgICBib2R5LFxuICAgICAgICAoY2h1bms6IGFueSkgPT4ge1xuICAgICAgICAgIHRyZWVIYXNoPy51cGRhdGUoY2h1bmspO1xuICAgICAgICAgIGNvbnRlbnRIYXNoPy51cGRhdGUoY2h1bmspO1xuICAgICAgICB9LFxuICAgICAgICBNaUJcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIlVuYWJsZSB0byBjYWxjdWxhdGUgY2hlY2tzdW1zIGZvciBub24tYmxvYiBzdHJlYW1zLlwiKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gW3RvSGV4KGF3YWl0IGNvbnRlbnRIYXNoLmRpZ2VzdCgpKSwgdG9IZXgoYXdhaXQgdHJlZUhhc2guZGlnZXN0KCkpXTtcbn1cbiJdfQ==
|
|
File without changes
|
|
File without changes
|
package/package.json
CHANGED
|
@@ -1,41 +1,41 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws-sdk/body-checksum-browser",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.35.0",
|
|
4
4
|
"scripts": {
|
|
5
5
|
"build": "yarn build:cjs && yarn build:es && yarn build:types",
|
|
6
6
|
"build:cjs": "tsc -p tsconfig.cjs.json",
|
|
7
7
|
"build:es": "tsc -p tsconfig.es.json",
|
|
8
8
|
"build:types": "tsc -p tsconfig.types.json",
|
|
9
|
-
"downlevel-dts": "downlevel-dts dist
|
|
9
|
+
"downlevel-dts": "downlevel-dts dist-types dist-types/ts3.4",
|
|
10
10
|
"test": "jest"
|
|
11
11
|
},
|
|
12
|
-
"main": "./dist
|
|
13
|
-
"module": "./dist
|
|
14
|
-
"types": "./dist
|
|
12
|
+
"main": "./dist-cjs/index.js",
|
|
13
|
+
"module": "./dist-es/index.js",
|
|
14
|
+
"types": "./dist-types/index.d.ts",
|
|
15
15
|
"author": {
|
|
16
16
|
"name": "AWS SDK for JavaScript Team",
|
|
17
17
|
"url": "https://aws.amazon.com/javascript/"
|
|
18
18
|
},
|
|
19
19
|
"license": "Apache-2.0",
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"@aws-sdk/chunked-blob-reader": "3.
|
|
22
|
-
"@aws-sdk/protocol-http": "3.
|
|
23
|
-
"@aws-sdk/sha256-tree-hash": "3.
|
|
24
|
-
"@aws-sdk/types": "3.
|
|
25
|
-
"@aws-sdk/util-hex-encoding": "3.
|
|
21
|
+
"@aws-sdk/chunked-blob-reader": "3.35.0",
|
|
22
|
+
"@aws-sdk/protocol-http": "3.35.0",
|
|
23
|
+
"@aws-sdk/sha256-tree-hash": "3.35.0",
|
|
24
|
+
"@aws-sdk/types": "3.35.0",
|
|
25
|
+
"@aws-sdk/util-hex-encoding": "3.35.0",
|
|
26
26
|
"tslib": "^2.3.0"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
29
29
|
"@aws-crypto/sha256-js": "^1.0.0",
|
|
30
|
-
"@aws-sdk/util-utf8-browser": "3.
|
|
30
|
+
"@aws-sdk/util-utf8-browser": "3.35.0",
|
|
31
31
|
"@types/jest": "^26.0.4",
|
|
32
32
|
"jest": "^26.1.0",
|
|
33
33
|
"typescript": "~4.3.5"
|
|
34
34
|
},
|
|
35
35
|
"typesVersions": {
|
|
36
36
|
"<4.0": {
|
|
37
|
-
"dist
|
|
38
|
-
"dist
|
|
37
|
+
"dist-types/*": [
|
|
38
|
+
"dist-types/ts3.4/*"
|
|
39
39
|
]
|
|
40
40
|
}
|
|
41
41
|
},
|
package/tsconfig.cjs.json
CHANGED
package/tsconfig.es.json
CHANGED
package/tsconfig.types.json
CHANGED
package/dist/cjs/index.js
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.bodyChecksumGenerator = void 0;
|
|
4
|
-
const chunked_blob_reader_1 = require("@aws-sdk/chunked-blob-reader");
|
|
5
|
-
const sha256_tree_hash_1 = require("@aws-sdk/sha256-tree-hash");
|
|
6
|
-
const util_hex_encoding_1 = require("@aws-sdk/util-hex-encoding");
|
|
7
|
-
const MiB = 1024 * 1024;
|
|
8
|
-
async function bodyChecksumGenerator(request, options) {
|
|
9
|
-
const contentHash = new options.sha256();
|
|
10
|
-
const treeHash = new sha256_tree_hash_1.TreeHash(options.sha256, options.utf8Decoder);
|
|
11
|
-
const { body } = request;
|
|
12
|
-
if (typeof body === "string") {
|
|
13
|
-
contentHash.update(body);
|
|
14
|
-
treeHash.update(body);
|
|
15
|
-
}
|
|
16
|
-
else {
|
|
17
|
-
if (Boolean(body) && Object.prototype.toString.call(body) === "[object Blob]") {
|
|
18
|
-
await chunked_blob_reader_1.blobReader(body, (chunk) => {
|
|
19
|
-
treeHash === null || treeHash === void 0 ? void 0 : treeHash.update(chunk);
|
|
20
|
-
contentHash === null || contentHash === void 0 ? void 0 : contentHash.update(chunk);
|
|
21
|
-
}, MiB);
|
|
22
|
-
}
|
|
23
|
-
else {
|
|
24
|
-
throw new Error("Unable to calculate checksums for non-blob streams.");
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
return [util_hex_encoding_1.toHex(await contentHash.digest()), util_hex_encoding_1.toHex(await treeHash.digest())];
|
|
28
|
-
}
|
|
29
|
-
exports.bodyChecksumGenerator = bodyChecksumGenerator;
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsc0VBQTBEO0FBQzFELGdFQUFxRDtBQUVyRCxrRUFBbUQ7QUFFbkQsTUFBTSxHQUFHLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQztBQUVqQixLQUFLLFVBQVUscUJBQXFCLENBQ3pDLE9BQW9CLEVBQ3BCLE9BR0M7SUFFRCxNQUFNLFdBQVcsR0FBRyxJQUFJLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUN6QyxNQUFNLFFBQVEsR0FBRyxJQUFJLDJCQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDbkUsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLE9BQU8sQ0FBQztJQUN6QixJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsRUFBRTtRQUM1QixXQUFXLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pCLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDdkI7U0FBTTtRQUNMLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxlQUFlLEVBQUU7WUFDN0UsTUFBTSxnQ0FBVSxDQUNkLElBQUksRUFDSixDQUFDLEtBQVUsRUFBRSxFQUFFO2dCQUNiLFFBQVEsYUFBUixRQUFRLHVCQUFSLFFBQVEsQ0FBRSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3hCLFdBQVcsYUFBWCxXQUFXLHVCQUFYLFdBQVcsQ0FBRSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDN0IsQ0FBQyxFQUNELEdBQUcsQ0FDSixDQUFDO1NBQ0g7YUFBTTtZQUNMLE1BQU0sSUFBSSxLQUFLLENBQUMscURBQXFELENBQUMsQ0FBQztTQUN4RTtLQUNGO0lBRUQsT0FBTyxDQUFDLHlCQUFLLENBQUMsTUFBTSxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSx5QkFBSyxDQUFDLE1BQU0sUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztBQUM3RSxDQUFDO0FBN0JELHNEQTZCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGJsb2JSZWFkZXIgfSBmcm9tIFwiQGF3cy1zZGsvY2h1bmtlZC1ibG9iLXJlYWRlclwiO1xuaW1wb3J0IHsgVHJlZUhhc2ggfSBmcm9tIFwiQGF3cy1zZGsvc2hhMjU2LXRyZWUtaGFzaFwiO1xuaW1wb3J0IHsgRGVjb2RlciwgSGFzaENvbnN0cnVjdG9yLCBIdHRwUmVxdWVzdCB9IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuaW1wb3J0IHsgdG9IZXggfSBmcm9tIFwiQGF3cy1zZGsvdXRpbC1oZXgtZW5jb2RpbmdcIjtcblxuY29uc3QgTWlCID0gMTAyNCAqIDEwMjQ7XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBib2R5Q2hlY2tzdW1HZW5lcmF0b3IoXG4gIHJlcXVlc3Q6IEh0dHBSZXF1ZXN0LFxuICBvcHRpb25zOiB7XG4gICAgc2hhMjU2OiBIYXNoQ29uc3RydWN0b3I7XG4gICAgdXRmOERlY29kZXI6IERlY29kZXI7XG4gIH1cbik6IFByb21pc2U8W3N0cmluZywgc3RyaW5nXT4ge1xuICBjb25zdCBjb250ZW50SGFzaCA9IG5ldyBvcHRpb25zLnNoYTI1NigpO1xuICBjb25zdCB0cmVlSGFzaCA9IG5ldyBUcmVlSGFzaChvcHRpb25zLnNoYTI1Niwgb3B0aW9ucy51dGY4RGVjb2Rlcik7XG4gIGNvbnN0IHsgYm9keSB9ID0gcmVxdWVzdDtcbiAgaWYgKHR5cGVvZiBib2R5ID09PSBcInN0cmluZ1wiKSB7XG4gICAgY29udGVudEhhc2gudXBkYXRlKGJvZHkpO1xuICAgIHRyZWVIYXNoLnVwZGF0ZShib2R5KTtcbiAgfSBlbHNlIHtcbiAgICBpZiAoQm9vbGVhbihib2R5KSAmJiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoYm9keSkgPT09IFwiW29iamVjdCBCbG9iXVwiKSB7XG4gICAgICBhd2FpdCBibG9iUmVhZGVyKFxuICAgICAgICBib2R5LFxuICAgICAgICAoY2h1bms6IGFueSkgPT4ge1xuICAgICAgICAgIHRyZWVIYXNoPy51cGRhdGUoY2h1bmspO1xuICAgICAgICAgIGNvbnRlbnRIYXNoPy51cGRhdGUoY2h1bmspO1xuICAgICAgICB9LFxuICAgICAgICBNaUJcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIlVuYWJsZSB0byBjYWxjdWxhdGUgY2hlY2tzdW1zIGZvciBub24tYmxvYiBzdHJlYW1zLlwiKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gW3RvSGV4KGF3YWl0IGNvbnRlbnRIYXNoLmRpZ2VzdCgpKSwgdG9IZXgoYXdhaXQgdHJlZUhhc2guZGlnZXN0KCkpXTtcbn1cbiJdfQ==
|
package/dist/es/index.js
DELETED
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { __awaiter, __generator } from "tslib";
|
|
2
|
-
import { blobReader } from "@aws-sdk/chunked-blob-reader";
|
|
3
|
-
import { TreeHash } from "@aws-sdk/sha256-tree-hash";
|
|
4
|
-
import { toHex } from "@aws-sdk/util-hex-encoding";
|
|
5
|
-
var MiB = 1024 * 1024;
|
|
6
|
-
export function bodyChecksumGenerator(request, options) {
|
|
7
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
8
|
-
var contentHash, treeHash, body, _a, _b, _c;
|
|
9
|
-
return __generator(this, function (_d) {
|
|
10
|
-
switch (_d.label) {
|
|
11
|
-
case 0:
|
|
12
|
-
contentHash = new options.sha256();
|
|
13
|
-
treeHash = new TreeHash(options.sha256, options.utf8Decoder);
|
|
14
|
-
body = request.body;
|
|
15
|
-
if (!(typeof body === "string")) return [3 /*break*/, 1];
|
|
16
|
-
contentHash.update(body);
|
|
17
|
-
treeHash.update(body);
|
|
18
|
-
return [3 /*break*/, 4];
|
|
19
|
-
case 1:
|
|
20
|
-
if (!(Boolean(body) && Object.prototype.toString.call(body) === "[object Blob]")) return [3 /*break*/, 3];
|
|
21
|
-
return [4 /*yield*/, blobReader(body, function (chunk) {
|
|
22
|
-
treeHash === null || treeHash === void 0 ? void 0 : treeHash.update(chunk);
|
|
23
|
-
contentHash === null || contentHash === void 0 ? void 0 : contentHash.update(chunk);
|
|
24
|
-
}, MiB)];
|
|
25
|
-
case 2:
|
|
26
|
-
_d.sent();
|
|
27
|
-
return [3 /*break*/, 4];
|
|
28
|
-
case 3: throw new Error("Unable to calculate checksums for non-blob streams.");
|
|
29
|
-
case 4:
|
|
30
|
-
_a = toHex;
|
|
31
|
-
return [4 /*yield*/, contentHash.digest()];
|
|
32
|
-
case 5:
|
|
33
|
-
_b = [_a.apply(void 0, [_d.sent()])];
|
|
34
|
-
_c = toHex;
|
|
35
|
-
return [4 /*yield*/, treeHash.digest()];
|
|
36
|
-
case 6: return [2 /*return*/, _b.concat([_c.apply(void 0, [_d.sent()])])];
|
|
37
|
-
}
|
|
38
|
-
});
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFckQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRW5ELElBQU0sR0FBRyxHQUFHLElBQUksR0FBRyxJQUFJLENBQUM7QUFFeEIsTUFBTSxVQUFnQixxQkFBcUIsQ0FDekMsT0FBb0IsRUFDcEIsT0FHQzs7Ozs7O29CQUVLLFdBQVcsR0FBRyxJQUFJLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztvQkFDbkMsUUFBUSxHQUFHLElBQUksUUFBUSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO29CQUMzRCxJQUFJLEdBQUssT0FBTyxLQUFaLENBQWE7eUJBQ3JCLENBQUEsT0FBTyxJQUFJLEtBQUssUUFBUSxDQUFBLEVBQXhCLHdCQUF3QjtvQkFDMUIsV0FBVyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDekIsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQzs7O3lCQUVsQixDQUFBLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssZUFBZSxDQUFBLEVBQXpFLHdCQUF5RTtvQkFDM0UscUJBQU0sVUFBVSxDQUNkLElBQUksRUFDSixVQUFDLEtBQVU7NEJBQ1QsUUFBUSxhQUFSLFFBQVEsdUJBQVIsUUFBUSxDQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQzs0QkFDeEIsV0FBVyxhQUFYLFdBQVcsdUJBQVgsV0FBVyxDQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQzt3QkFDN0IsQ0FBQyxFQUNELEdBQUcsQ0FDSixFQUFBOztvQkFQRCxTQU9DLENBQUM7O3dCQUVGLE1BQU0sSUFBSSxLQUFLLENBQUMscURBQXFELENBQUMsQ0FBQzs7b0JBSW5FLEtBQUEsS0FBSyxDQUFBO29CQUFDLHFCQUFNLFdBQVcsQ0FBQyxNQUFNLEVBQUUsRUFBQTs7MEJBQWhDLGtCQUFNLFNBQTBCLEVBQUM7b0JBQUUsS0FBQSxLQUFLLENBQUE7b0JBQUMscUJBQU0sUUFBUSxDQUFDLE1BQU0sRUFBRSxFQUFBO3dCQUF4RSxpQ0FBMkMsa0JBQU0sU0FBdUIsRUFBQyxJQUFFOzs7O0NBQzVFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYmxvYlJlYWRlciB9IGZyb20gXCJAYXdzLXNkay9jaHVua2VkLWJsb2ItcmVhZGVyXCI7XG5pbXBvcnQgeyBUcmVlSGFzaCB9IGZyb20gXCJAYXdzLXNkay9zaGEyNTYtdHJlZS1oYXNoXCI7XG5pbXBvcnQgeyBEZWNvZGVyLCBIYXNoQ29uc3RydWN0b3IsIEh0dHBSZXF1ZXN0IH0gZnJvbSBcIkBhd3Mtc2RrL3R5cGVzXCI7XG5pbXBvcnQgeyB0b0hleCB9IGZyb20gXCJAYXdzLXNkay91dGlsLWhleC1lbmNvZGluZ1wiO1xuXG5jb25zdCBNaUIgPSAxMDI0ICogMTAyNDtcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGJvZHlDaGVja3N1bUdlbmVyYXRvcihcbiAgcmVxdWVzdDogSHR0cFJlcXVlc3QsXG4gIG9wdGlvbnM6IHtcbiAgICBzaGEyNTY6IEhhc2hDb25zdHJ1Y3RvcjtcbiAgICB1dGY4RGVjb2RlcjogRGVjb2RlcjtcbiAgfVxuKTogUHJvbWlzZTxbc3RyaW5nLCBzdHJpbmddPiB7XG4gIGNvbnN0IGNvbnRlbnRIYXNoID0gbmV3IG9wdGlvbnMuc2hhMjU2KCk7XG4gIGNvbnN0IHRyZWVIYXNoID0gbmV3IFRyZWVIYXNoKG9wdGlvbnMuc2hhMjU2LCBvcHRpb25zLnV0ZjhEZWNvZGVyKTtcbiAgY29uc3QgeyBib2R5IH0gPSByZXF1ZXN0O1xuICBpZiAodHlwZW9mIGJvZHkgPT09IFwic3RyaW5nXCIpIHtcbiAgICBjb250ZW50SGFzaC51cGRhdGUoYm9keSk7XG4gICAgdHJlZUhhc2gudXBkYXRlKGJvZHkpO1xuICB9IGVsc2Uge1xuICAgIGlmIChCb29sZWFuKGJvZHkpICYmIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChib2R5KSA9PT0gXCJbb2JqZWN0IEJsb2JdXCIpIHtcbiAgICAgIGF3YWl0IGJsb2JSZWFkZXIoXG4gICAgICAgIGJvZHksXG4gICAgICAgIChjaHVuazogYW55KSA9PiB7XG4gICAgICAgICAgdHJlZUhhc2g/LnVwZGF0ZShjaHVuayk7XG4gICAgICAgICAgY29udGVudEhhc2g/LnVwZGF0ZShjaHVuayk7XG4gICAgICAgIH0sXG4gICAgICAgIE1pQlxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiVW5hYmxlIHRvIGNhbGN1bGF0ZSBjaGVja3N1bXMgZm9yIG5vbi1ibG9iIHN0cmVhbXMuXCIpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBbdG9IZXgoYXdhaXQgY29udGVudEhhc2guZGlnZXN0KCkpLCB0b0hleChhd2FpdCB0cmVlSGFzaC5kaWdlc3QoKSldO1xufVxuIl19
|