@aws-sdk/middleware-websocket 3.598.0 → 3.609.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/index.js CHANGED
@@ -33,14 +33,14 @@ var import_eventstream_codec = require("@smithy/eventstream-codec");
33
33
 
34
34
  // src/get-event-signing-stream.ts
35
35
  var import_util_hex_encoding = require("@smithy/util-hex-encoding");
36
- var getEventSigningTransformStream = /* @__PURE__ */ __name((initialSignature, messageSigner, eventStreamCodec) => {
36
+ var getEventSigningTransformStream = /* @__PURE__ */ __name((initialSignature, messageSigner, eventStreamCodec, systemClockOffsetProvider) => {
37
37
  let priorSignature = initialSignature;
38
38
  const transformer = {
39
39
  start() {
40
40
  },
41
41
  async transform(chunk, controller) {
42
42
  try {
43
- const now = /* @__PURE__ */ new Date();
43
+ const now = new Date(Date.now() + await systemClockOffsetProvider());
44
44
  const dateHeader = {
45
45
  ":date": { type: "timestamp", value: now }
46
46
  };
@@ -81,6 +81,7 @@ var _EventStreamPayloadHandler = class _EventStreamPayloadHandler {
81
81
  constructor(options) {
82
82
  this.messageSigner = options.messageSigner;
83
83
  this.eventStreamCodec = new import_eventstream_codec.EventStreamCodec(options.utf8Encoder, options.utf8Decoder);
84
+ this.systemClockOffsetProvider = async () => options.systemClockOffset ?? 0;
84
85
  }
85
86
  async handle(next, args, context = {}) {
86
87
  const request = args.request;
@@ -102,7 +103,8 @@ var _EventStreamPayloadHandler = class _EventStreamPayloadHandler {
102
103
  const signingStream = getEventSigningTransformStream(
103
104
  priorSignature,
104
105
  await this.messageSigner(),
105
- this.eventStreamCodec
106
+ this.eventStreamCodec,
107
+ this.systemClockOffsetProvider
106
108
  );
107
109
  const signedPayload = payload.pipeThrough(signingStream);
108
110
  signedPayload.pipeThrough(placeHolderStream);
@@ -4,6 +4,7 @@ export class EventStreamPayloadHandler {
4
4
  constructor(options) {
5
5
  this.messageSigner = options.messageSigner;
6
6
  this.eventStreamCodec = new EventStreamCodec(options.utf8Encoder, options.utf8Decoder);
7
+ this.systemClockOffsetProvider = async () => options.systemClockOffset ?? 0;
7
8
  }
8
9
  async handle(next, args, context = {}) {
9
10
  const request = args.request;
@@ -23,7 +24,7 @@ export class EventStreamPayloadHandler {
23
24
  }
24
25
  const match = (headers["authorization"] || "").match(/Signature=([\w]+)$/);
25
26
  const priorSignature = (match || [])[1] || (query && query["X-Amz-Signature"]) || "";
26
- const signingStream = getEventSigningTransformStream(priorSignature, await this.messageSigner(), this.eventStreamCodec);
27
+ const signingStream = getEventSigningTransformStream(priorSignature, await this.messageSigner(), this.eventStreamCodec, this.systemClockOffsetProvider);
27
28
  const signedPayload = payload.pipeThrough(signingStream);
28
29
  signedPayload.pipeThrough(placeHolderStream);
29
30
  return result;
@@ -1,11 +1,11 @@
1
1
  import { fromHex } from "@smithy/util-hex-encoding";
2
- export const getEventSigningTransformStream = (initialSignature, messageSigner, eventStreamCodec) => {
2
+ export const getEventSigningTransformStream = (initialSignature, messageSigner, eventStreamCodec, systemClockOffsetProvider) => {
3
3
  let priorSignature = initialSignature;
4
4
  const transformer = {
5
5
  start() { },
6
6
  async transform(chunk, controller) {
7
7
  try {
8
- const now = new Date();
8
+ const now = new Date(Date.now() + (await systemClockOffsetProvider()));
9
9
  const dateHeader = {
10
10
  ":date": { type: "timestamp", value: now },
11
11
  };
@@ -3,6 +3,7 @@ export interface EventStreamPayloadHandlerOptions {
3
3
  messageSigner: Provider<MessageSigner>;
4
4
  utf8Encoder: Encoder;
5
5
  utf8Decoder: Decoder;
6
+ systemClockOffset?: number;
6
7
  }
7
8
  /**
8
9
  * A handler that control the eventstream payload flow:
@@ -14,6 +15,7 @@ export interface EventStreamPayloadHandlerOptions {
14
15
  export declare class EventStreamPayloadHandler implements IEventStreamPayloadHandler {
15
16
  private readonly messageSigner;
16
17
  private readonly eventStreamCodec;
18
+ private readonly systemClockOffsetProvider;
17
19
  constructor(options: EventStreamPayloadHandlerOptions);
18
20
  handle<T extends MetadataBearer>(next: FinalizeHandler<any, T>, args: FinalizeHandlerArguments<any>, context?: HandlerExecutionContext): Promise<FinalizeHandlerOutput<T>>;
19
21
  }
@@ -1,8 +1,10 @@
1
1
  import { EventStreamCodec } from "@smithy/eventstream-codec";
2
- import { MessageSigner } from "@smithy/types";
2
+ import { MessageSigner, Provider } from "@smithy/types";
3
3
  /**
4
4
  * Get a transform stream that signs the eventstream
5
5
  * Implementation replicated from @aws-sdk/eventstream-handler-node::EventSigningStream
6
6
  * but modified to be compatible with WHATWG stream interface
7
+ *
8
+ * @internal
7
9
  */
8
- export declare const getEventSigningTransformStream: (initialSignature: string, messageSigner: MessageSigner, eventStreamCodec: EventStreamCodec) => TransformStream<Uint8Array, Uint8Array>;
10
+ export declare const getEventSigningTransformStream: (initialSignature: string, messageSigner: MessageSigner, eventStreamCodec: EventStreamCodec, systemClockOffsetProvider: Provider<number>) => TransformStream<Uint8Array, Uint8Array>;
@@ -14,12 +14,14 @@ export interface EventStreamPayloadHandlerOptions {
14
14
  messageSigner: Provider<MessageSigner>;
15
15
  utf8Encoder: Encoder;
16
16
  utf8Decoder: Decoder;
17
+ systemClockOffset?: number;
17
18
  }
18
19
  export declare class EventStreamPayloadHandler
19
20
  implements IEventStreamPayloadHandler
20
21
  {
21
22
  private readonly messageSigner;
22
23
  private readonly eventStreamCodec;
24
+ private readonly systemClockOffsetProvider;
23
25
  constructor(options: EventStreamPayloadHandlerOptions);
24
26
  handle<T extends MetadataBearer>(
25
27
  next: FinalizeHandler<any, T>,
@@ -1,7 +1,8 @@
1
1
  import { EventStreamCodec } from "@smithy/eventstream-codec";
2
- import { MessageSigner } from "@smithy/types";
2
+ import { MessageSigner, Provider } from "@smithy/types";
3
3
  export declare const getEventSigningTransformStream: (
4
4
  initialSignature: string,
5
5
  messageSigner: MessageSigner,
6
- eventStreamCodec: EventStreamCodec
6
+ eventStreamCodec: EventStreamCodec,
7
+ systemClockOffsetProvider: Provider<number>
7
8
  ) => TransformStream<Uint8Array, Uint8Array>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/middleware-websocket",
3
- "version": "3.598.0",
3
+ "version": "3.609.0",
4
4
  "main": "./dist-cjs/index.js",
5
5
  "module": "./dist-es/index.js",
6
6
  "types": "./dist-types/index.d.ts",
@@ -21,15 +21,15 @@
21
21
  },
22
22
  "license": "Apache-2.0",
23
23
  "dependencies": {
24
- "@aws-sdk/middleware-signing": "3.598.0",
25
- "@aws-sdk/types": "3.598.0",
26
- "@aws-sdk/util-format-url": "3.598.0",
27
- "@smithy/eventstream-codec": "^3.1.0",
28
- "@smithy/eventstream-serde-browser": "^3.0.2",
29
- "@smithy/fetch-http-handler": "^3.0.2",
30
- "@smithy/protocol-http": "^4.0.1",
31
- "@smithy/signature-v4": "^3.1.0",
32
- "@smithy/types": "^3.1.0",
24
+ "@aws-sdk/middleware-signing": "3.609.0",
25
+ "@aws-sdk/types": "3.609.0",
26
+ "@aws-sdk/util-format-url": "3.609.0",
27
+ "@smithy/eventstream-codec": "^3.1.2",
28
+ "@smithy/eventstream-serde-browser": "^3.0.4",
29
+ "@smithy/fetch-http-handler": "^3.2.0",
30
+ "@smithy/protocol-http": "^4.0.3",
31
+ "@smithy/signature-v4": "^3.1.2",
32
+ "@smithy/types": "^3.3.0",
33
33
  "@smithy/util-hex-encoding": "^3.0.0",
34
34
  "tslib": "^2.6.2"
35
35
  },
@@ -1 +0,0 @@
1
- module.exports = require("./index.js");
@@ -1 +0,0 @@
1
- module.exports = require("./index.js");
@@ -1 +0,0 @@
1
- module.exports = require("./index.js");
@@ -1 +0,0 @@
1
- module.exports = require("./index.js");
@@ -1 +0,0 @@
1
- module.exports = require("./index.js");
@@ -1 +0,0 @@
1
- module.exports = require("./index.js");
@@ -1 +0,0 @@
1
- module.exports = require("./index.js");
package/dist-cjs/utils.js DELETED
@@ -1 +0,0 @@
1
- module.exports = require("./index.js");
@@ -1 +0,0 @@
1
- module.exports = require("./index.js");
@@ -1 +0,0 @@
1
- module.exports = require("./index.js");