@aws-sdk/middleware-sdk-transcribe-streaming 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 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/middleware-sdk-transcribe-streaming
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/middleware-sdk-transcribe-streaming
@@ -1,14 +1,22 @@
1
+ import { __assign, __awaiter, __generator } from "tslib";
1
2
  import { SignatureV4 } from "./signer";
2
- export const resolveWebSocketConfig = (input) => input.requestHandler.metadata?.handlerProtocol !== "websocket"
3
- ? input
4
- : {
5
- ...input,
6
- signer: async (authScheme) => {
7
- const signerObj = await input.signer(authScheme);
8
- if (validateSigner(signerObj)) {
9
- return new SignatureV4({ signer: signerObj });
10
- }
11
- throw new Error("Expected SignatureV4 signer, please check the client constructor.");
12
- },
13
- };
14
- const validateSigner = (signer) => !!signer;
3
+ export var resolveWebSocketConfig = function (input) {
4
+ var _a;
5
+ return ((_a = input.requestHandler.metadata) === null || _a === void 0 ? void 0 : _a.handlerProtocol) !== "websocket"
6
+ ? input
7
+ : __assign(__assign({}, input), { signer: function (authScheme) { return __awaiter(void 0, void 0, void 0, function () {
8
+ var signerObj;
9
+ return __generator(this, function (_a) {
10
+ switch (_a.label) {
11
+ case 0: return [4, input.signer(authScheme)];
12
+ case 1:
13
+ signerObj = _a.sent();
14
+ if (validateSigner(signerObj)) {
15
+ return [2, new SignatureV4({ signer: signerObj })];
16
+ }
17
+ throw new Error("Expected SignatureV4 signer, please check the client constructor.");
18
+ }
19
+ });
20
+ }); } });
21
+ };
22
+ var validateSigner = function (signer) { return !!signer; };
@@ -1,3 +1,3 @@
1
- export const eventStreamPayloadHandler = {
2
- handle: (next, args) => next(args),
1
+ export var eventStreamPayloadHandler = {
2
+ handle: function (next, args) { return next(args); },
3
3
  };
@@ -1,28 +1,45 @@
1
+ import { __values } from "tslib";
1
2
  import { HttpRequest } from "@aws-sdk/protocol-http";
2
- export const websocketURLMiddleware = (options) => (next) => (args) => {
3
- const { request } = args;
4
- if (HttpRequest.isInstance(request) && options.requestHandler.metadata?.handlerProtocol === "websocket") {
5
- request.protocol = "wss:";
6
- request.hostname = `${request.hostname}:8443`;
7
- request.path = `${request.path}-websocket`;
8
- request.method = "GET";
9
- const { headers } = request;
10
- delete headers["Content-Type"];
11
- delete headers["x-amz-content-sha256"];
12
- for (const name of Object.keys(headers)) {
13
- if (name.indexOf("x-amzn-transcribe-") === 0) {
14
- const chunkedName = name.replace("x-amzn-transcribe-", "");
15
- request.query[chunkedName] = headers[name];
3
+ export var websocketURLMiddleware = function (options) {
4
+ return function (next) {
5
+ return function (args) {
6
+ var e_1, _a;
7
+ var _b;
8
+ var request = args.request;
9
+ if (HttpRequest.isInstance(request) && ((_b = options.requestHandler.metadata) === null || _b === void 0 ? void 0 : _b.handlerProtocol) === "websocket") {
10
+ request.protocol = "wss:";
11
+ request.hostname = "".concat(request.hostname, ":8443");
12
+ request.path = "".concat(request.path, "-websocket");
13
+ request.method = "GET";
14
+ var headers = request.headers;
15
+ delete headers["Content-Type"];
16
+ delete headers["x-amz-content-sha256"];
17
+ try {
18
+ for (var _c = __values(Object.keys(headers)), _d = _c.next(); !_d.done; _d = _c.next()) {
19
+ var name_1 = _d.value;
20
+ if (name_1.indexOf("x-amzn-transcribe-") === 0) {
21
+ var chunkedName = name_1.replace("x-amzn-transcribe-", "");
22
+ request.query[chunkedName] = headers[name_1];
23
+ }
24
+ }
25
+ }
26
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
27
+ finally {
28
+ try {
29
+ if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
30
+ }
31
+ finally { if (e_1) throw e_1.error; }
32
+ }
33
+ if (headers["x-amz-user-agent"]) {
34
+ request.query["user-agent"] = headers["x-amz-user-agent"];
35
+ }
36
+ request.headers = { host: request.hostname };
16
37
  }
17
- }
18
- if (headers["x-amz-user-agent"]) {
19
- request.query["user-agent"] = headers["x-amz-user-agent"];
20
- }
21
- request.headers = { host: request.hostname };
22
- }
23
- return next(args);
38
+ return next(args);
39
+ };
40
+ };
24
41
  };
25
- export const websocketURLMiddlewareOptions = {
42
+ export var websocketURLMiddlewareOptions = {
26
43
  name: "websocketURLMiddleware",
27
44
  tags: ["WEBSOCKET", "EVENT_STREAM"],
28
45
  relation: "after",
@@ -1,22 +1,44 @@
1
+ import { __assign, __awaiter, __generator, __values } from "tslib";
1
2
  import { v4 } from "uuid";
2
- export const injectSessionIdMiddleware = (config) => (next) => async (args) => {
3
- if (args.input.SessionId === undefined && isWebSocket(config)) {
4
- args.input.SessionId = v4();
5
- }
6
- const requestParams = {
7
- ...args.input,
3
+ export var injectSessionIdMiddleware = function (config) {
4
+ return function (next) {
5
+ return function (args) { return __awaiter(void 0, void 0, void 0, function () {
6
+ var requestParams, response, output, _a, _b, key;
7
+ var e_1, _c;
8
+ return __generator(this, function (_d) {
9
+ switch (_d.label) {
10
+ case 0:
11
+ if (args.input.SessionId === undefined && isWebSocket(config)) {
12
+ args.input.SessionId = v4();
13
+ }
14
+ requestParams = __assign({}, args.input);
15
+ return [4, next(args)];
16
+ case 1:
17
+ response = _d.sent();
18
+ output = response.output;
19
+ try {
20
+ for (_a = __values(Object.keys(output)), _b = _a.next(); !_b.done; _b = _a.next()) {
21
+ key = _b.value;
22
+ if (output[key] === undefined && requestParams[key]) {
23
+ output[key] = requestParams[key];
24
+ }
25
+ }
26
+ }
27
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
28
+ finally {
29
+ try {
30
+ if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
31
+ }
32
+ finally { if (e_1) throw e_1.error; }
33
+ }
34
+ return [2, response];
35
+ }
36
+ });
37
+ }); };
8
38
  };
9
- const response = await next(args);
10
- const output = response.output;
11
- for (const key of Object.keys(output)) {
12
- if (output[key] === undefined && requestParams[key]) {
13
- output[key] = requestParams[key];
14
- }
15
- }
16
- return response;
17
39
  };
18
- const isWebSocket = (config) => config.requestHandler.metadata?.handlerProtocol === "websocket";
19
- export const injectSessionIdMiddlewareOptions = {
40
+ var isWebSocket = function (config) { var _a; return ((_a = config.requestHandler.metadata) === null || _a === void 0 ? void 0 : _a.handlerProtocol) === "websocket"; };
41
+ export var injectSessionIdMiddlewareOptions = {
20
42
  step: "initialize",
21
43
  name: "injectSessionIdMiddleware",
22
44
  tags: ["WEBSOCKET", "EVENT_STREAM"],
package/dist-es/plugin.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import { websocketURLMiddleware, websocketURLMiddlewareOptions } from "./middleware-endpoint";
2
2
  import { injectSessionIdMiddleware, injectSessionIdMiddlewareOptions } from "./middleware-session-id";
3
- export const getWebSocketPlugin = (config) => ({
4
- applyToStack: (clientStack) => {
3
+ export var getWebSocketPlugin = function (config) { return ({
4
+ applyToStack: function (clientStack) {
5
5
  clientStack.addRelativeTo(websocketURLMiddleware(config), websocketURLMiddlewareOptions);
6
6
  clientStack.add(injectSessionIdMiddleware(config), injectSessionIdMiddlewareOptions);
7
7
  },
8
- });
8
+ }); };
package/dist-es/signer.js CHANGED
@@ -1,24 +1,32 @@
1
+ import { __assign, __awaiter, __generator } from "tslib";
1
2
  import { HttpRequest } from "@aws-sdk/protocol-http";
2
- export class SignatureV4 {
3
- constructor(options) {
3
+ var SignatureV4 = (function () {
4
+ function SignatureV4(options) {
4
5
  this.signer = options.signer;
5
6
  }
6
- presign(originalRequest, options = {}) {
7
+ SignatureV4.prototype.presign = function (originalRequest, options) {
8
+ if (options === void 0) { options = {}; }
7
9
  return this.signer.presign(originalRequest, options);
8
- }
9
- async sign(toSign, options) {
10
- if (HttpRequest.isInstance(toSign)) {
11
- const signedRequest = await this.signer.presign({ ...toSign, body: "" }, {
12
- expiresIn: 5 * 60,
13
- unsignableHeaders: new Set(Object.keys(toSign.headers).filter((header) => header !== "host")),
10
+ };
11
+ SignatureV4.prototype.sign = function (toSign, options) {
12
+ return __awaiter(this, void 0, void 0, function () {
13
+ var signedRequest;
14
+ return __generator(this, function (_a) {
15
+ switch (_a.label) {
16
+ case 0:
17
+ if (!HttpRequest.isInstance(toSign)) return [3, 2];
18
+ return [4, this.signer.presign(__assign(__assign({}, toSign), { body: "" }), {
19
+ expiresIn: 5 * 60,
20
+ unsignableHeaders: new Set(Object.keys(toSign.headers).filter(function (header) { return header !== "host"; })),
21
+ })];
22
+ case 1:
23
+ signedRequest = _a.sent();
24
+ return [2, __assign(__assign({}, signedRequest), { body: toSign.body })];
25
+ case 2: return [2, this.signer.sign(toSign, options)];
26
+ }
14
27
  });
15
- return {
16
- ...signedRequest,
17
- body: toSign.body,
18
- };
19
- }
20
- else {
21
- return this.signer.sign(toSign, options);
22
- }
23
- }
24
- }
28
+ });
29
+ };
30
+ return SignatureV4;
31
+ }());
32
+ export { SignatureV4 };
@@ -1,56 +1,73 @@
1
+ import { __asyncGenerator, __asyncValues, __await, __awaiter, __generator } from "tslib";
1
2
  import { iterableToReadableStream, readableStreamtoIterable } from "@aws-sdk/eventstream-serde-browser";
2
3
  import { HttpResponse } from "@aws-sdk/protocol-http";
3
4
  import { formatUrl } from "@aws-sdk/util-format-url";
4
- export class WebSocketHandler {
5
- constructor({ connectionTimeout } = {}) {
5
+ var WebSocketHandler = (function () {
6
+ function WebSocketHandler(_a) {
7
+ var _b = _a === void 0 ? {} : _a, connectionTimeout = _b.connectionTimeout;
6
8
  this.metadata = {
7
9
  handlerProtocol: "websocket",
8
10
  };
9
11
  this.connectionTimeout = connectionTimeout || 2000;
10
12
  }
11
- destroy() { }
12
- async handle(request) {
13
- const url = formatUrl(request);
14
- const socket = new WebSocket(url);
15
- socket.binaryType = "arraybuffer";
16
- await waitForReady(socket, this.connectionTimeout);
17
- const { body } = request;
18
- const bodyStream = getIterator(body);
19
- const asyncIterable = connect(socket, bodyStream);
20
- const outputPayload = toReadableStream(asyncIterable);
21
- return {
22
- response: new HttpResponse({
23
- statusCode: 200,
24
- body: outputPayload,
25
- }),
26
- };
27
- }
28
- }
29
- const waitForReady = (socket, connectionTimeout) => new Promise((resolve, reject) => {
30
- const timeout = setTimeout(() => {
31
- reject({
32
- $metadata: {
33
- httpStatusCode: 500,
34
- },
13
+ WebSocketHandler.prototype.destroy = function () { };
14
+ WebSocketHandler.prototype.handle = function (request) {
15
+ return __awaiter(this, void 0, void 0, function () {
16
+ var url, socket, body, bodyStream, asyncIterable, outputPayload;
17
+ return __generator(this, function (_a) {
18
+ switch (_a.label) {
19
+ case 0:
20
+ url = formatUrl(request);
21
+ socket = new WebSocket(url);
22
+ socket.binaryType = "arraybuffer";
23
+ return [4, waitForReady(socket, this.connectionTimeout)];
24
+ case 1:
25
+ _a.sent();
26
+ body = request.body;
27
+ bodyStream = getIterator(body);
28
+ asyncIterable = connect(socket, bodyStream);
29
+ outputPayload = toReadableStream(asyncIterable);
30
+ return [2, {
31
+ response: new HttpResponse({
32
+ statusCode: 200,
33
+ body: outputPayload,
34
+ }),
35
+ }];
36
+ }
37
+ });
35
38
  });
36
- }, connectionTimeout);
37
- socket.onopen = () => {
38
- clearTimeout(timeout);
39
- resolve();
40
39
  };
41
- });
42
- const connect = (socket, data) => {
43
- let streamError = undefined;
44
- const outputStream = {
45
- [Symbol.asyncIterator]: () => ({
46
- next: () => {
47
- return new Promise((resolve, reject) => {
48
- socket.onerror = (error) => {
40
+ return WebSocketHandler;
41
+ }());
42
+ export { WebSocketHandler };
43
+ var waitForReady = function (socket, connectionTimeout) {
44
+ return new Promise(function (resolve, reject) {
45
+ var timeout = setTimeout(function () {
46
+ reject({
47
+ $metadata: {
48
+ httpStatusCode: 500,
49
+ },
50
+ });
51
+ }, connectionTimeout);
52
+ socket.onopen = function () {
53
+ clearTimeout(timeout);
54
+ resolve();
55
+ };
56
+ });
57
+ };
58
+ var connect = function (socket, data) {
59
+ var _a;
60
+ var streamError = undefined;
61
+ var outputStream = (_a = {},
62
+ _a[Symbol.asyncIterator] = function () { return ({
63
+ next: function () {
64
+ return new Promise(function (resolve, reject) {
65
+ socket.onerror = function (error) {
49
66
  socket.onclose = null;
50
67
  socket.close();
51
68
  reject(error);
52
69
  };
53
- socket.onclose = () => {
70
+ socket.onclose = function () {
54
71
  if (streamError) {
55
72
  reject(streamError);
56
73
  }
@@ -61,7 +78,7 @@ const connect = (socket, data) => {
61
78
  });
62
79
  }
63
80
  };
64
- socket.onmessage = (event) => {
81
+ socket.onmessage = function (event) {
65
82
  resolve({
66
83
  done: false,
67
84
  value: new Uint8Array(event.data),
@@ -69,37 +86,87 @@ const connect = (socket, data) => {
69
86
  };
70
87
  });
71
88
  },
72
- }),
73
- };
74
- const send = async () => {
75
- try {
76
- for await (const inputChunk of data) {
77
- socket.send(inputChunk);
89
+ }); },
90
+ _a);
91
+ var send = function () { return __awaiter(void 0, void 0, void 0, function () {
92
+ var data_1, data_1_1, inputChunk, e_1_1, err_1;
93
+ var e_1, _a;
94
+ return __generator(this, function (_b) {
95
+ switch (_b.label) {
96
+ case 0:
97
+ _b.trys.push([0, 13, 14, 15]);
98
+ _b.label = 1;
99
+ case 1:
100
+ _b.trys.push([1, 6, 7, 12]);
101
+ data_1 = __asyncValues(data);
102
+ _b.label = 2;
103
+ case 2: return [4, data_1.next()];
104
+ case 3:
105
+ if (!(data_1_1 = _b.sent(), !data_1_1.done)) return [3, 5];
106
+ inputChunk = data_1_1.value;
107
+ socket.send(inputChunk);
108
+ _b.label = 4;
109
+ case 4: return [3, 2];
110
+ case 5: return [3, 12];
111
+ case 6:
112
+ e_1_1 = _b.sent();
113
+ e_1 = { error: e_1_1 };
114
+ return [3, 12];
115
+ case 7:
116
+ _b.trys.push([7, , 10, 11]);
117
+ if (!(data_1_1 && !data_1_1.done && (_a = data_1.return))) return [3, 9];
118
+ return [4, _a.call(data_1)];
119
+ case 8:
120
+ _b.sent();
121
+ _b.label = 9;
122
+ case 9: return [3, 11];
123
+ case 10:
124
+ if (e_1) throw e_1.error;
125
+ return [7];
126
+ case 11: return [7];
127
+ case 12: return [3, 15];
128
+ case 13:
129
+ err_1 = _b.sent();
130
+ streamError = err_1;
131
+ return [3, 15];
132
+ case 14:
133
+ socket.close(1000);
134
+ return [7];
135
+ case 15: return [2];
78
136
  }
79
- }
80
- catch (err) {
81
- streamError = err;
82
- }
83
- finally {
84
- socket.close(1000);
85
- }
86
- };
137
+ });
138
+ }); };
87
139
  send();
88
140
  return outputStream;
89
141
  };
90
- const getIterator = (stream) => {
142
+ var getIterator = function (stream) {
143
+ var _a;
91
144
  if (stream[Symbol.asyncIterator])
92
145
  return stream;
93
146
  else if (isReadableStream(stream)) {
94
147
  return readableStreamtoIterable(stream);
95
148
  }
96
149
  else {
97
- return {
98
- [Symbol.asyncIterator]: async function* () {
99
- yield stream;
150
+ return _a = {},
151
+ _a[Symbol.asyncIterator] = function () {
152
+ return __asyncGenerator(this, arguments, function () {
153
+ return __generator(this, function (_a) {
154
+ switch (_a.label) {
155
+ case 0: return [4, __await(stream)];
156
+ case 1: return [4, _a.sent()];
157
+ case 2:
158
+ _a.sent();
159
+ return [2];
160
+ }
161
+ });
162
+ });
100
163
  },
101
- };
164
+ _a;
102
165
  }
103
166
  };
104
- const toReadableStream = (asyncIterable) => typeof ReadableStream === "function" ? iterableToReadableStream(asyncIterable) : asyncIterable;
105
- const isReadableStream = (payload) => typeof ReadableStream === "function" && payload instanceof ReadableStream;
167
+ var toReadableStream = function (asyncIterable) {
168
+ return typeof ReadableStream === "function" ? iterableToReadableStream(asyncIterable) : asyncIterable;
169
+ };
170
+ var isReadableStream = function (payload) {
171
+ return typeof ReadableStream === "function" && payload instanceof ReadableStream;
172
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/middleware-sdk-transcribe-streaming",
3
- "version": "3.183.0",
3
+ "version": "3.186.0",
4
4
  "main": "./dist-cjs/index.js",
5
5
  "module": "./dist-es/index.js",
6
6
  "types": "./dist-types/index.d.ts",
@@ -20,12 +20,12 @@
20
20
  },
21
21
  "license": "Apache-2.0",
22
22
  "dependencies": {
23
- "@aws-sdk/eventstream-serde-browser": "3.183.0",
24
- "@aws-sdk/middleware-signing": "3.183.0",
25
- "@aws-sdk/protocol-http": "3.183.0",
26
- "@aws-sdk/signature-v4": "3.183.0",
27
- "@aws-sdk/types": "3.183.0",
28
- "@aws-sdk/util-format-url": "3.183.0",
23
+ "@aws-sdk/eventstream-serde-browser": "3.186.0",
24
+ "@aws-sdk/middleware-signing": "3.186.0",
25
+ "@aws-sdk/protocol-http": "3.186.0",
26
+ "@aws-sdk/signature-v4": "3.186.0",
27
+ "@aws-sdk/types": "3.186.0",
28
+ "@aws-sdk/util-format-url": "3.186.0",
29
29
  "tslib": "^2.3.1",
30
30
  "uuid": "^8.3.2"
31
31
  },