@aws-sdk/middleware-flexible-checksums 3.398.0 → 3.400.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/dist-cjs/flexibleChecksumsMiddleware.js +0 -8
- package/dist-cjs/flexibleChecksumsResponseMiddleware.js +40 -0
- package/dist-cjs/getFlexibleChecksumsPlugin.js +2 -0
- package/dist-cjs/streams/create-read-stream-on-buffer.browser.js +7 -0
- package/dist-cjs/streams/create-read-stream-on-buffer.js +11 -0
- package/dist-es/flexibleChecksumsMiddleware.js +0 -8
- package/dist-es/flexibleChecksumsResponseMiddleware.js +36 -0
- package/dist-es/getFlexibleChecksumsPlugin.js +2 -0
- package/dist-es/streams/create-read-stream-on-buffer.browser.js +3 -0
- package/dist-es/streams/create-read-stream-on-buffer.js +7 -0
- package/dist-types/configuration.d.ts +5 -1
- package/dist-types/flexibleChecksumsMiddleware.d.ts +3 -0
- package/dist-types/flexibleChecksumsResponseMiddleware.d.ts +13 -0
- package/dist-types/streams/create-read-stream-on-buffer.browser.d.ts +4 -0
- package/dist-types/streams/create-read-stream-on-buffer.d.ts +6 -0
- package/dist-types/ts3.4/configuration.d.ts +2 -0
- package/dist-types/ts3.4/flexibleChecksumsResponseMiddleware.d.ts +11 -0
- package/dist-types/ts3.4/streams/create-read-stream-on-buffer.browser.d.ts +3 -0
- package/dist-types/ts3.4/streams/create-read-stream-on-buffer.d.ts +2 -0
- package/package.json +5 -1
|
@@ -8,7 +8,6 @@ const hasHeader_1 = require("./hasHeader");
|
|
|
8
8
|
const isStreaming_1 = require("./isStreaming");
|
|
9
9
|
const selectChecksumAlgorithmFunction_1 = require("./selectChecksumAlgorithmFunction");
|
|
10
10
|
const stringHasher_1 = require("./stringHasher");
|
|
11
|
-
const validateChecksumFromResponse_1 = require("./validateChecksumFromResponse");
|
|
12
11
|
const flexibleChecksumsMiddleware = (config, middlewareConfig) => (next) => async (args) => {
|
|
13
12
|
if (!protocol_http_1.HttpRequest.isInstance(args.request)) {
|
|
14
13
|
return next(args);
|
|
@@ -63,13 +62,6 @@ const flexibleChecksumsMiddleware = (config, middlewareConfig) => (next) => asyn
|
|
|
63
62
|
body: updatedBody,
|
|
64
63
|
},
|
|
65
64
|
});
|
|
66
|
-
const { requestValidationModeMember, responseAlgorithms } = middlewareConfig;
|
|
67
|
-
if (requestValidationModeMember && input[requestValidationModeMember] === "ENABLED") {
|
|
68
|
-
await (0, validateChecksumFromResponse_1.validateChecksumFromResponse)(result.response, {
|
|
69
|
-
config,
|
|
70
|
-
responseAlgorithms,
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
65
|
return result;
|
|
74
66
|
};
|
|
75
67
|
exports.flexibleChecksumsMiddleware = flexibleChecksumsMiddleware;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.flexibleChecksumsResponseMiddleware = exports.flexibleChecksumsResponseMiddlewareOptions = void 0;
|
|
4
|
+
const protocol_http_1 = require("@smithy/protocol-http");
|
|
5
|
+
const isStreaming_1 = require("./isStreaming");
|
|
6
|
+
const create_read_stream_on_buffer_1 = require("./streams/create-read-stream-on-buffer");
|
|
7
|
+
const validateChecksumFromResponse_1 = require("./validateChecksumFromResponse");
|
|
8
|
+
exports.flexibleChecksumsResponseMiddlewareOptions = {
|
|
9
|
+
name: "flexibleChecksumsResponseMiddleware",
|
|
10
|
+
toMiddleware: "deserializerMiddleware",
|
|
11
|
+
relation: "after",
|
|
12
|
+
tags: ["BODY_CHECKSUM"],
|
|
13
|
+
override: true,
|
|
14
|
+
};
|
|
15
|
+
const flexibleChecksumsResponseMiddleware = (config, middlewareConfig) => (next) => async (args) => {
|
|
16
|
+
if (!protocol_http_1.HttpRequest.isInstance(args.request)) {
|
|
17
|
+
return next(args);
|
|
18
|
+
}
|
|
19
|
+
const input = args.input;
|
|
20
|
+
const result = await next(args);
|
|
21
|
+
const response = result.response;
|
|
22
|
+
let collectedStream = undefined;
|
|
23
|
+
const { requestValidationModeMember, responseAlgorithms } = middlewareConfig;
|
|
24
|
+
if (requestValidationModeMember && input[requestValidationModeMember] === "ENABLED") {
|
|
25
|
+
const isStreamingBody = (0, isStreaming_1.isStreaming)(response.body);
|
|
26
|
+
if (isStreamingBody) {
|
|
27
|
+
collectedStream = await config.streamCollector(response.body);
|
|
28
|
+
response.body = (0, create_read_stream_on_buffer_1.createReadStreamOnBuffer)(collectedStream);
|
|
29
|
+
}
|
|
30
|
+
await (0, validateChecksumFromResponse_1.validateChecksumFromResponse)(result.response, {
|
|
31
|
+
config,
|
|
32
|
+
responseAlgorithms,
|
|
33
|
+
});
|
|
34
|
+
if (isStreamingBody && collectedStream) {
|
|
35
|
+
response.body = (0, create_read_stream_on_buffer_1.createReadStreamOnBuffer)(collectedStream);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
return result;
|
|
39
|
+
};
|
|
40
|
+
exports.flexibleChecksumsResponseMiddleware = flexibleChecksumsResponseMiddleware;
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getFlexibleChecksumsPlugin = exports.flexibleChecksumsMiddlewareOptions = void 0;
|
|
4
4
|
const flexibleChecksumsMiddleware_1 = require("./flexibleChecksumsMiddleware");
|
|
5
|
+
const flexibleChecksumsResponseMiddleware_1 = require("./flexibleChecksumsResponseMiddleware");
|
|
5
6
|
exports.flexibleChecksumsMiddlewareOptions = {
|
|
6
7
|
name: "flexibleChecksumsMiddleware",
|
|
7
8
|
step: "build",
|
|
@@ -11,6 +12,7 @@ exports.flexibleChecksumsMiddlewareOptions = {
|
|
|
11
12
|
const getFlexibleChecksumsPlugin = (config, middlewareConfig) => ({
|
|
12
13
|
applyToStack: (clientStack) => {
|
|
13
14
|
clientStack.add((0, flexibleChecksumsMiddleware_1.flexibleChecksumsMiddleware)(config, middlewareConfig), exports.flexibleChecksumsMiddlewareOptions);
|
|
15
|
+
clientStack.addRelativeTo((0, flexibleChecksumsResponseMiddleware_1.flexibleChecksumsResponseMiddleware)(config, middlewareConfig), flexibleChecksumsResponseMiddleware_1.flexibleChecksumsResponseMiddlewareOptions);
|
|
14
16
|
},
|
|
15
17
|
});
|
|
16
18
|
exports.getFlexibleChecksumsPlugin = getFlexibleChecksumsPlugin;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createReadStreamOnBuffer = void 0;
|
|
4
|
+
function createReadStreamOnBuffer(buffer) {
|
|
5
|
+
return new Blob([buffer]).stream();
|
|
6
|
+
}
|
|
7
|
+
exports.createReadStreamOnBuffer = createReadStreamOnBuffer;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createReadStreamOnBuffer = void 0;
|
|
4
|
+
const stream_1 = require("stream");
|
|
5
|
+
function createReadStreamOnBuffer(buffer) {
|
|
6
|
+
const stream = new stream_1.Transform();
|
|
7
|
+
stream.push(buffer);
|
|
8
|
+
stream.push(null);
|
|
9
|
+
return stream;
|
|
10
|
+
}
|
|
11
|
+
exports.createReadStreamOnBuffer = createReadStreamOnBuffer;
|
|
@@ -5,7 +5,6 @@ import { hasHeader } from "./hasHeader";
|
|
|
5
5
|
import { isStreaming } from "./isStreaming";
|
|
6
6
|
import { selectChecksumAlgorithmFunction } from "./selectChecksumAlgorithmFunction";
|
|
7
7
|
import { stringHasher } from "./stringHasher";
|
|
8
|
-
import { validateChecksumFromResponse } from "./validateChecksumFromResponse";
|
|
9
8
|
export const flexibleChecksumsMiddleware = (config, middlewareConfig) => (next) => async (args) => {
|
|
10
9
|
if (!HttpRequest.isInstance(args.request)) {
|
|
11
10
|
return next(args);
|
|
@@ -60,12 +59,5 @@ export const flexibleChecksumsMiddleware = (config, middlewareConfig) => (next)
|
|
|
60
59
|
body: updatedBody,
|
|
61
60
|
},
|
|
62
61
|
});
|
|
63
|
-
const { requestValidationModeMember, responseAlgorithms } = middlewareConfig;
|
|
64
|
-
if (requestValidationModeMember && input[requestValidationModeMember] === "ENABLED") {
|
|
65
|
-
await validateChecksumFromResponse(result.response, {
|
|
66
|
-
config,
|
|
67
|
-
responseAlgorithms,
|
|
68
|
-
});
|
|
69
|
-
}
|
|
70
62
|
return result;
|
|
71
63
|
};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { HttpRequest } from "@smithy/protocol-http";
|
|
2
|
+
import { isStreaming } from "./isStreaming";
|
|
3
|
+
import { createReadStreamOnBuffer } from "./streams/create-read-stream-on-buffer";
|
|
4
|
+
import { validateChecksumFromResponse } from "./validateChecksumFromResponse";
|
|
5
|
+
export const flexibleChecksumsResponseMiddlewareOptions = {
|
|
6
|
+
name: "flexibleChecksumsResponseMiddleware",
|
|
7
|
+
toMiddleware: "deserializerMiddleware",
|
|
8
|
+
relation: "after",
|
|
9
|
+
tags: ["BODY_CHECKSUM"],
|
|
10
|
+
override: true,
|
|
11
|
+
};
|
|
12
|
+
export const flexibleChecksumsResponseMiddleware = (config, middlewareConfig) => (next) => async (args) => {
|
|
13
|
+
if (!HttpRequest.isInstance(args.request)) {
|
|
14
|
+
return next(args);
|
|
15
|
+
}
|
|
16
|
+
const input = args.input;
|
|
17
|
+
const result = await next(args);
|
|
18
|
+
const response = result.response;
|
|
19
|
+
let collectedStream = undefined;
|
|
20
|
+
const { requestValidationModeMember, responseAlgorithms } = middlewareConfig;
|
|
21
|
+
if (requestValidationModeMember && input[requestValidationModeMember] === "ENABLED") {
|
|
22
|
+
const isStreamingBody = isStreaming(response.body);
|
|
23
|
+
if (isStreamingBody) {
|
|
24
|
+
collectedStream = await config.streamCollector(response.body);
|
|
25
|
+
response.body = createReadStreamOnBuffer(collectedStream);
|
|
26
|
+
}
|
|
27
|
+
await validateChecksumFromResponse(result.response, {
|
|
28
|
+
config,
|
|
29
|
+
responseAlgorithms,
|
|
30
|
+
});
|
|
31
|
+
if (isStreamingBody && collectedStream) {
|
|
32
|
+
response.body = createReadStreamOnBuffer(collectedStream);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
return result;
|
|
36
|
+
};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { flexibleChecksumsMiddleware } from "./flexibleChecksumsMiddleware";
|
|
2
|
+
import { flexibleChecksumsResponseMiddleware, flexibleChecksumsResponseMiddlewareOptions, } from "./flexibleChecksumsResponseMiddleware";
|
|
2
3
|
export const flexibleChecksumsMiddlewareOptions = {
|
|
3
4
|
name: "flexibleChecksumsMiddleware",
|
|
4
5
|
step: "build",
|
|
@@ -8,5 +9,6 @@ export const flexibleChecksumsMiddlewareOptions = {
|
|
|
8
9
|
export const getFlexibleChecksumsPlugin = (config, middlewareConfig) => ({
|
|
9
10
|
applyToStack: (clientStack) => {
|
|
10
11
|
clientStack.add(flexibleChecksumsMiddleware(config, middlewareConfig), flexibleChecksumsMiddlewareOptions);
|
|
12
|
+
clientStack.addRelativeTo(flexibleChecksumsResponseMiddleware(config, middlewareConfig), flexibleChecksumsResponseMiddlewareOptions);
|
|
11
13
|
},
|
|
12
14
|
});
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BodyLengthCalculator, ChecksumConstructor, Encoder, GetAwsChunkedEncodingStream, HashConstructor, StreamHasher } from "@smithy/types";
|
|
1
|
+
import { BodyLengthCalculator, ChecksumConstructor, Encoder, GetAwsChunkedEncodingStream, HashConstructor, StreamCollector, StreamHasher } from "@smithy/types";
|
|
2
2
|
export interface PreviouslyResolved {
|
|
3
3
|
/**
|
|
4
4
|
* The function that will be used to convert binary data to a base64-encoded string.
|
|
@@ -33,4 +33,8 @@ export interface PreviouslyResolved {
|
|
|
33
33
|
* @internal
|
|
34
34
|
*/
|
|
35
35
|
streamHasher: StreamHasher<any>;
|
|
36
|
+
/**
|
|
37
|
+
* Collects streams into buffers.
|
|
38
|
+
*/
|
|
39
|
+
streamCollector: StreamCollector;
|
|
36
40
|
}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import { BuildMiddleware } from "@smithy/types";
|
|
2
2
|
import { PreviouslyResolved } from "./configuration";
|
|
3
3
|
import { FlexibleChecksumsMiddlewareConfig } from "./getFlexibleChecksumsPlugin";
|
|
4
|
+
/**
|
|
5
|
+
* @internal
|
|
6
|
+
*/
|
|
4
7
|
export declare const flexibleChecksumsMiddleware: (config: PreviouslyResolved, middlewareConfig: FlexibleChecksumsMiddlewareConfig) => BuildMiddleware<any, any>;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { DeserializeMiddleware, RelativeMiddlewareOptions } from "@smithy/types";
|
|
2
|
+
import { PreviouslyResolved } from "./configuration";
|
|
3
|
+
import { FlexibleChecksumsMiddlewareConfig } from "./getFlexibleChecksumsPlugin";
|
|
4
|
+
/**
|
|
5
|
+
* @internal
|
|
6
|
+
*/
|
|
7
|
+
export declare const flexibleChecksumsResponseMiddlewareOptions: RelativeMiddlewareOptions;
|
|
8
|
+
/**
|
|
9
|
+
* @internal
|
|
10
|
+
*
|
|
11
|
+
* The validation counterpart to the flexibleChecksumsMiddleware.
|
|
12
|
+
*/
|
|
13
|
+
export declare const flexibleChecksumsResponseMiddleware: (config: PreviouslyResolved, middlewareConfig: FlexibleChecksumsMiddlewareConfig) => DeserializeMiddleware<any, any>;
|
|
@@ -4,6 +4,7 @@ import {
|
|
|
4
4
|
Encoder,
|
|
5
5
|
GetAwsChunkedEncodingStream,
|
|
6
6
|
HashConstructor,
|
|
7
|
+
StreamCollector,
|
|
7
8
|
StreamHasher,
|
|
8
9
|
} from "@smithy/types";
|
|
9
10
|
export interface PreviouslyResolved {
|
|
@@ -14,4 +15,5 @@ export interface PreviouslyResolved {
|
|
|
14
15
|
sha1: ChecksumConstructor | HashConstructor;
|
|
15
16
|
sha256: ChecksumConstructor | HashConstructor;
|
|
16
17
|
streamHasher: StreamHasher<any>;
|
|
18
|
+
streamCollector: StreamCollector;
|
|
17
19
|
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import {
|
|
2
|
+
DeserializeMiddleware,
|
|
3
|
+
RelativeMiddlewareOptions,
|
|
4
|
+
} from "@smithy/types";
|
|
5
|
+
import { PreviouslyResolved } from "./configuration";
|
|
6
|
+
import { FlexibleChecksumsMiddlewareConfig } from "./getFlexibleChecksumsPlugin";
|
|
7
|
+
export declare const flexibleChecksumsResponseMiddlewareOptions: RelativeMiddlewareOptions;
|
|
8
|
+
export declare const flexibleChecksumsResponseMiddleware: (
|
|
9
|
+
config: PreviouslyResolved,
|
|
10
|
+
middlewareConfig: FlexibleChecksumsMiddlewareConfig
|
|
11
|
+
) => DeserializeMiddleware<any, any>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws-sdk/middleware-flexible-checksums",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.400.0",
|
|
4
4
|
"scripts": {
|
|
5
5
|
"build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
|
|
6
6
|
"build:cjs": "tsc -p tsconfig.cjs.json",
|
|
@@ -14,6 +14,9 @@
|
|
|
14
14
|
},
|
|
15
15
|
"main": "./dist-cjs/index.js",
|
|
16
16
|
"module": "./dist-es/index.js",
|
|
17
|
+
"browser": {
|
|
18
|
+
"./dist-es/streams/create-read-stream-on-buffer": "./dist-es/streams/create-read-stream-on-buffer.browser"
|
|
19
|
+
},
|
|
17
20
|
"types": "./dist-types/index.d.ts",
|
|
18
21
|
"author": {
|
|
19
22
|
"name": "AWS SDK for JavaScript Team",
|
|
@@ -31,6 +34,7 @@
|
|
|
31
34
|
"tslib": "^2.5.0"
|
|
32
35
|
},
|
|
33
36
|
"devDependencies": {
|
|
37
|
+
"@smithy/node-http-handler": "^2.0.5",
|
|
34
38
|
"concurrently": "7.0.0",
|
|
35
39
|
"downlevel-dts": "0.10.1",
|
|
36
40
|
"rimraf": "3.0.2",
|