@aws-sdk/eventstream-handler-node 3.489.0 → 3.496.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.
@@ -1,55 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EventSigningStream = void 0;
4
- const stream_1 = require("stream");
5
- class EventSigningStream extends stream_1.Transform {
6
- constructor(options) {
7
- super({
8
- autoDestroy: true,
9
- readableObjectMode: true,
10
- writableObjectMode: true,
11
- ...options,
12
- });
13
- this.priorSignature = options.priorSignature;
14
- this.eventStreamCodec = options.eventStreamCodec;
15
- this.messageSigner = options.messageSigner;
16
- }
17
- async _transform(chunk, encoding, callback) {
18
- try {
19
- const now = new Date();
20
- const dateHeader = {
21
- ":date": { type: "timestamp", value: now },
22
- };
23
- const signedMessage = await this.messageSigner.sign({
24
- message: {
25
- body: chunk,
26
- headers: dateHeader,
27
- },
28
- priorSignature: this.priorSignature,
29
- }, {
30
- signingDate: now,
31
- });
32
- this.priorSignature = signedMessage.signature;
33
- const serializedSigned = this.eventStreamCodec.encode({
34
- headers: {
35
- ...dateHeader,
36
- ":chunk-signature": {
37
- type: "binary",
38
- value: getSignatureBinary(signedMessage.signature),
39
- },
40
- },
41
- body: chunk,
42
- });
43
- this.push(serializedSigned);
44
- return callback();
45
- }
46
- catch (err) {
47
- callback(err);
48
- }
49
- }
50
- }
51
- exports.EventSigningStream = EventSigningStream;
52
- function getSignatureBinary(signature) {
53
- const buf = Buffer.from(signature, "hex");
54
- return new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength / Uint8Array.BYTES_PER_ELEMENT);
55
- }
1
+ module.exports = require("./index.js");
@@ -1,45 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EventStreamPayloadHandler = void 0;
4
- const eventstream_codec_1 = require("@smithy/eventstream-codec");
5
- const stream_1 = require("stream");
6
- const EventSigningStream_1 = require("./EventSigningStream");
7
- class EventStreamPayloadHandler {
8
- constructor(options) {
9
- this.messageSigner = options.messageSigner;
10
- this.eventStreamCodec = new eventstream_codec_1.EventStreamCodec(options.utf8Encoder, options.utf8Decoder);
11
- }
12
- async handle(next, args, context = {}) {
13
- const request = args.request;
14
- const { body: payload, query } = request;
15
- if (!(payload instanceof stream_1.Readable)) {
16
- throw new Error("Eventstream payload must be a Readable stream.");
17
- }
18
- const payloadStream = payload;
19
- request.body = new stream_1.PassThrough({
20
- objectMode: true,
21
- });
22
- let result;
23
- try {
24
- result = await next(args);
25
- }
26
- catch (e) {
27
- request.body.end();
28
- throw e;
29
- }
30
- const match = (request.headers["authorization"] || "").match(/Signature=([\w]+)$/);
31
- const priorSignature = (match || [])[1] || (query && query["X-Amz-Signature"]) || "";
32
- const signingStream = new EventSigningStream_1.EventSigningStream({
33
- priorSignature,
34
- eventStreamCodec: this.eventStreamCodec,
35
- messageSigner: await this.messageSigner(),
36
- });
37
- (0, stream_1.pipeline)(payloadStream, signingStream, request.body, (err) => {
38
- if (err) {
39
- throw err;
40
- }
41
- });
42
- return result;
43
- }
44
- }
45
- exports.EventStreamPayloadHandler = EventStreamPayloadHandler;
1
+ module.exports = require("./index.js");
package/dist-cjs/index.js CHANGED
@@ -1,5 +1,137 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.eventStreamPayloadHandlerProvider = void 0;
4
- var provider_1 = require("./provider");
5
- Object.defineProperty(exports, "eventStreamPayloadHandlerProvider", { enumerable: true, get: function () { return provider_1.eventStreamPayloadHandlerProvider; } });
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/index.ts
21
+ var src_exports = {};
22
+ __export(src_exports, {
23
+ eventStreamPayloadHandlerProvider: () => eventStreamPayloadHandlerProvider
24
+ });
25
+ module.exports = __toCommonJS(src_exports);
26
+
27
+ // src/EventStreamPayloadHandler.ts
28
+ var import_eventstream_codec = require("@smithy/eventstream-codec");
29
+
30
+
31
+ // src/EventSigningStream.ts
32
+ var import_stream = require("stream");
33
+ var _EventSigningStream = class _EventSigningStream extends import_stream.Transform {
34
+ constructor(options) {
35
+ super({
36
+ autoDestroy: true,
37
+ readableObjectMode: true,
38
+ writableObjectMode: true,
39
+ ...options
40
+ });
41
+ this.priorSignature = options.priorSignature;
42
+ this.eventStreamCodec = options.eventStreamCodec;
43
+ this.messageSigner = options.messageSigner;
44
+ }
45
+ async _transform(chunk, encoding, callback) {
46
+ try {
47
+ const now = /* @__PURE__ */ new Date();
48
+ const dateHeader = {
49
+ ":date": { type: "timestamp", value: now }
50
+ };
51
+ const signedMessage = await this.messageSigner.sign(
52
+ {
53
+ message: {
54
+ body: chunk,
55
+ headers: dateHeader
56
+ },
57
+ priorSignature: this.priorSignature
58
+ },
59
+ {
60
+ signingDate: now
61
+ }
62
+ );
63
+ this.priorSignature = signedMessage.signature;
64
+ const serializedSigned = this.eventStreamCodec.encode({
65
+ headers: {
66
+ ...dateHeader,
67
+ ":chunk-signature": {
68
+ type: "binary",
69
+ value: getSignatureBinary(signedMessage.signature)
70
+ }
71
+ },
72
+ body: chunk
73
+ });
74
+ this.push(serializedSigned);
75
+ return callback();
76
+ } catch (err) {
77
+ callback(err);
78
+ }
79
+ }
80
+ };
81
+ __name(_EventSigningStream, "EventSigningStream");
82
+ var EventSigningStream = _EventSigningStream;
83
+ function getSignatureBinary(signature) {
84
+ const buf = Buffer.from(signature, "hex");
85
+ return new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength / Uint8Array.BYTES_PER_ELEMENT);
86
+ }
87
+ __name(getSignatureBinary, "getSignatureBinary");
88
+
89
+ // src/EventStreamPayloadHandler.ts
90
+ var _EventStreamPayloadHandler = class _EventStreamPayloadHandler {
91
+ constructor(options) {
92
+ this.messageSigner = options.messageSigner;
93
+ this.eventStreamCodec = new import_eventstream_codec.EventStreamCodec(options.utf8Encoder, options.utf8Decoder);
94
+ }
95
+ async handle(next, args, context = {}) {
96
+ const request = args.request;
97
+ const { body: payload, query } = request;
98
+ if (!(payload instanceof import_stream.Readable)) {
99
+ throw new Error("Eventstream payload must be a Readable stream.");
100
+ }
101
+ const payloadStream = payload;
102
+ request.body = new import_stream.PassThrough({
103
+ objectMode: true
104
+ });
105
+ let result;
106
+ try {
107
+ result = await next(args);
108
+ } catch (e) {
109
+ request.body.end();
110
+ throw e;
111
+ }
112
+ const match = (request.headers["authorization"] || "").match(/Signature=([\w]+)$/);
113
+ const priorSignature = (match || [])[1] || query && query["X-Amz-Signature"] || "";
114
+ const signingStream = new EventSigningStream({
115
+ priorSignature,
116
+ eventStreamCodec: this.eventStreamCodec,
117
+ messageSigner: await this.messageSigner()
118
+ });
119
+ (0, import_stream.pipeline)(payloadStream, signingStream, request.body, (err) => {
120
+ if (err) {
121
+ throw err;
122
+ }
123
+ });
124
+ return result;
125
+ }
126
+ };
127
+ __name(_EventStreamPayloadHandler, "EventStreamPayloadHandler");
128
+ var EventStreamPayloadHandler = _EventStreamPayloadHandler;
129
+
130
+ // src/provider.ts
131
+ var eventStreamPayloadHandlerProvider = /* @__PURE__ */ __name((options) => new EventStreamPayloadHandler(options), "eventStreamPayloadHandlerProvider");
132
+ // Annotate the CommonJS export names for ESM import in node:
133
+
134
+ 0 && (module.exports = {
135
+ eventStreamPayloadHandlerProvider
136
+ });
137
+
@@ -1,6 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.eventStreamPayloadHandlerProvider = void 0;
4
- const EventStreamPayloadHandler_1 = require("./EventStreamPayloadHandler");
5
- const eventStreamPayloadHandlerProvider = (options) => new EventStreamPayloadHandler_1.EventStreamPayloadHandler(options);
6
- exports.eventStreamPayloadHandlerProvider = eventStreamPayloadHandlerProvider;
1
+ module.exports = require("./index.js");
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@aws-sdk/eventstream-handler-node",
3
- "version": "3.489.0",
3
+ "version": "3.496.0",
4
4
  "scripts": {
5
5
  "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
6
- "build:cjs": "tsc -p tsconfig.cjs.json",
6
+ "build:cjs": "node ../../scripts/compilation/inline eventstream-handler-node",
7
7
  "build:es": "tsc -p tsconfig.es.json",
8
8
  "build:include:deps": "lerna run --scope $npm_package_name --include-dependencies build",
9
9
  "build:types": "tsc -p tsconfig.types.json",
@@ -20,13 +20,13 @@
20
20
  },
21
21
  "license": "Apache-2.0",
22
22
  "dependencies": {
23
- "@aws-sdk/types": "3.489.0",
24
- "@smithy/eventstream-codec": "^2.0.0",
25
- "@smithy/types": "^2.8.0",
23
+ "@aws-sdk/types": "3.496.0",
24
+ "@smithy/eventstream-codec": "^2.1.1",
25
+ "@smithy/types": "^2.9.1",
26
26
  "tslib": "^2.5.0"
27
27
  },
28
28
  "devDependencies": {
29
- "@smithy/util-utf8": "^2.0.2",
29
+ "@smithy/util-utf8": "^2.1.1",
30
30
  "@tsconfig/recommended": "1.0.1",
31
31
  "@types/node": "^14.14.31",
32
32
  "concurrently": "7.0.0",