@procedures/client 0.8.0 → 0.8.1
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 +58 -0
- package/README.md +95 -8
- package/dist/.tsbuildinfo +1 -1
- package/dist/adapters/http/client/transport.d.ts +4 -0
- package/dist/adapters/http/client/transport.d.ts.map +1 -1
- package/dist/adapters/http/client/transport.js +11 -1
- package/dist/adapters/http/client/transport.js.map +1 -1
- package/dist/adapters/http/client/types.d.ts +19 -0
- package/dist/adapters/http/client/types.d.ts.map +1 -1
- package/dist/adapters/http/server/cors.d.ts +64 -0
- package/dist/adapters/http/server/cors.d.ts.map +1 -0
- package/dist/adapters/http/server/cors.js +113 -0
- package/dist/adapters/http/server/cors.js.map +1 -0
- package/dist/adapters/http/server/handler.d.ts +136 -0
- package/dist/adapters/http/server/handler.d.ts.map +1 -0
- package/dist/adapters/http/server/handler.js +495 -0
- package/dist/adapters/http/server/handler.js.map +1 -0
- package/dist/adapters/http/server/strategies.d.ts +14 -5
- package/dist/adapters/http/server/strategies.d.ts.map +1 -1
- package/dist/adapters/http/server/strategies.js.map +1 -1
- package/dist/adapters/http/server/transport.d.ts +30 -46
- package/dist/adapters/http/server/transport.d.ts.map +1 -1
- package/dist/adapters/http/server/transport.js +48 -432
- package/dist/adapters/http/server/transport.js.map +1 -1
- package/dist/adapters/http/server/types.d.ts +13 -0
- package/dist/adapters/http/server/types.d.ts.map +1 -1
- package/dist/adapters/websocket/server/transport.d.ts +46 -1
- package/dist/adapters/websocket/server/transport.d.ts.map +1 -1
- package/dist/adapters/websocket/server/transport.js +152 -15
- package/dist/adapters/websocket/server/transport.js.map +1 -1
- package/dist/adapters/websocket/server/types.d.ts +10 -3
- package/dist/adapters/websocket/server/types.d.ts.map +1 -1
- package/dist/adapters/websocket/server/upgrade-router.d.ts +28 -0
- package/dist/adapters/websocket/server/upgrade-router.d.ts.map +1 -0
- package/dist/adapters/websocket/server/upgrade-router.js +62 -0
- package/dist/adapters/websocket/server/upgrade-router.js.map +1 -0
- package/dist/adapters/websocket/server/upgrade.d.ts +68 -0
- package/dist/adapters/websocket/server/upgrade.d.ts.map +1 -0
- package/dist/adapters/websocket/server/upgrade.js +49 -0
- package/dist/adapters/websocket/server/upgrade.js.map +1 -0
- package/dist/adapters/websocket/shared/rpc.d.ts +2 -0
- package/dist/adapters/websocket/shared/rpc.d.ts.map +1 -1
- package/dist/adapters/websocket/shared/rpc.js +8 -2
- package/dist/adapters/websocket/shared/rpc.js.map +1 -1
- package/dist/browser.d.ts +12 -4
- package/dist/browser.d.ts.map +1 -1
- package/dist/browser.js +11 -2
- package/dist/browser.js.map +1 -1
- package/dist/client/client.d.ts +43 -0
- package/dist/client/client.d.ts.map +1 -1
- package/dist/client/client.js +69 -1
- package/dist/client/client.js.map +1 -1
- package/dist/events/publisher.d.ts +14 -0
- package/dist/events/publisher.d.ts.map +1 -1
- package/dist/events/publisher.js +42 -4
- package/dist/events/publisher.js.map +1 -1
- package/dist/events/rows.d.ts +31 -0
- package/dist/events/rows.d.ts.map +1 -0
- package/dist/events/rows.js +39 -0
- package/dist/events/rows.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/node.d.ts +14 -0
- package/dist/node.d.ts.map +1 -1
- package/dist/node.js +9 -0
- package/dist/node.js.map +1 -1
- package/dist/procedures/capability.d.ts +6 -0
- package/dist/procedures/capability.d.ts.map +1 -1
- package/dist/procedures/capability.js +25 -0
- package/dist/procedures/capability.js.map +1 -1
- package/dist/procedures/collection/changes.d.ts +94 -0
- package/dist/procedures/collection/changes.d.ts.map +1 -0
- package/dist/procedures/collection/changes.js +182 -0
- package/dist/procedures/collection/changes.js.map +1 -0
- package/dist/procedures/collection/index.d.ts +8 -3
- package/dist/procedures/collection/index.d.ts.map +1 -1
- package/dist/procedures/collection/index.js +6 -1
- package/dist/procedures/collection/index.js.map +1 -1
- package/dist/procedures/collection/procedures.d.ts +39 -2
- package/dist/procedures/collection/procedures.d.ts.map +1 -1
- package/dist/procedures/collection/procedures.js +111 -8
- package/dist/procedures/collection/procedures.js.map +1 -1
- package/dist/procedures/collection/query.d.ts +246 -0
- package/dist/procedures/collection/query.d.ts.map +1 -0
- package/dist/procedures/collection/query.js +854 -0
- package/dist/procedures/collection/query.js.map +1 -0
- package/dist/procedures/collection/schemas.d.ts +50 -0
- package/dist/procedures/collection/schemas.d.ts.map +1 -1
- package/dist/procedures/collection/schemas.js +144 -6
- package/dist/procedures/collection/schemas.js.map +1 -1
- package/dist/procedures/collection/storage.d.ts +58 -6
- package/dist/procedures/collection/storage.d.ts.map +1 -1
- package/dist/procedures/collection/storage.js +23 -0
- package/dist/procedures/collection/storage.js.map +1 -1
- package/dist/procedures/elicit.d.ts +190 -0
- package/dist/procedures/elicit.d.ts.map +1 -0
- package/dist/procedures/elicit.js +127 -0
- package/dist/procedures/elicit.js.map +1 -0
- package/dist/procedures/hints.d.ts +43 -0
- package/dist/procedures/hints.d.ts.map +1 -0
- package/dist/procedures/hints.js +74 -0
- package/dist/procedures/hints.js.map +1 -0
- package/dist/procedures/index.d.ts +9 -2
- package/dist/procedures/index.d.ts.map +1 -1
- package/dist/procedures/index.js +5 -1
- package/dist/procedures/index.js.map +1 -1
- package/dist/procedures/invoke.d.ts +20 -0
- package/dist/procedures/invoke.d.ts.map +1 -1
- package/dist/procedures/invoke.js +13 -0
- package/dist/procedures/invoke.js.map +1 -1
- package/dist/procedures/progress.d.ts +24 -0
- package/dist/procedures/progress.d.ts.map +1 -0
- package/dist/procedures/progress.js +11 -0
- package/dist/procedures/progress.js.map +1 -0
- package/dist/procedures/registry.d.ts.map +1 -1
- package/dist/procedures/registry.js +5 -0
- package/dist/procedures/registry.js.map +1 -1
- package/dist/procedures/types.d.ts +42 -0
- package/dist/procedures/types.d.ts.map +1 -1
- package/dist/procedures/types.js.map +1 -1
- package/dist/procedures/untrusted.d.ts +28 -0
- package/dist/procedures/untrusted.d.ts.map +1 -0
- package/dist/procedures/untrusted.js +32 -0
- package/dist/procedures/untrusted.js.map +1 -0
- package/dist/server/browser-guard.d.ts +12 -2
- package/dist/server/browser-guard.d.ts.map +1 -1
- package/dist/server/browser-guard.js +43 -6
- package/dist/server/browser-guard.js.map +1 -1
- package/dist/server/host-policy.d.ts +10 -1
- package/dist/server/host-policy.d.ts.map +1 -1
- package/dist/server/host-policy.js +5 -0
- package/dist/server/host-policy.js.map +1 -1
- package/dist/server/index.d.ts +1 -1
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js.map +1 -1
- package/dist/server/procedure-server.d.ts +38 -6
- package/dist/server/procedure-server.d.ts.map +1 -1
- package/dist/server/procedure-server.js +65 -13
- package/dist/server/procedure-server.js.map +1 -1
- package/dist/server/request-auth.d.ts +51 -4
- package/dist/server/request-auth.d.ts.map +1 -1
- package/dist/server/request-auth.js +116 -5
- package/dist/server/request-auth.js.map +1 -1
- package/dist/server/types.d.ts +73 -5
- package/dist/server/types.d.ts.map +1 -1
- package/dist/server/types.js.map +1 -1
- package/package.json +5 -1
- package/src/adapters/http/client/transport.ts +11 -1
- package/src/adapters/http/client/types.ts +22 -0
- package/src/adapters/http/server/cors.ts +144 -0
- package/src/adapters/http/server/handler.ts +624 -0
- package/src/adapters/http/server/strategies.ts +16 -6
- package/src/adapters/http/server/transport.ts +55 -478
- package/src/adapters/http/server/types.ts +15 -0
- package/src/adapters/websocket/server/transport.ts +166 -16
- package/src/adapters/websocket/server/types.ts +11 -3
- package/src/adapters/websocket/server/upgrade-router.ts +77 -0
- package/src/adapters/websocket/server/upgrade.ts +88 -0
- package/src/adapters/websocket/shared/rpc.ts +9 -2
- package/src/browser.ts +79 -2
- package/src/client/client.ts +83 -1
- package/src/events/publisher.ts +48 -4
- package/src/events/rows.ts +48 -0
- package/src/index.ts +1 -1
- package/src/node.ts +21 -0
- package/src/procedures/capability.ts +21 -0
- package/src/procedures/collection/changes.ts +245 -0
- package/src/procedures/collection/index.ts +53 -1
- package/src/procedures/collection/procedures.ts +163 -7
- package/src/procedures/collection/query.ts +1009 -0
- package/src/procedures/collection/schemas.ts +196 -7
- package/src/procedures/collection/storage.ts +78 -6
- package/src/procedures/elicit.ts +320 -0
- package/src/procedures/hints.ts +91 -0
- package/src/procedures/index.ts +78 -2
- package/src/procedures/invoke.ts +29 -0
- package/src/procedures/progress.ts +25 -0
- package/src/procedures/registry.ts +4 -0
- package/src/procedures/types.ts +49 -0
- package/src/procedures/untrusted.ts +50 -0
- package/src/server/browser-guard.ts +48 -6
- package/src/server/host-policy.ts +13 -1
- package/src/server/index.ts +3 -0
- package/src/server/procedure-server.ts +82 -14
- package/src/server/request-auth.ts +128 -6
- package/src/server/types.ts +82 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transport.js","sourceRoot":"","sources":["../../../../src/adapters/http/server/transport.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"transport.js","sourceRoot":"","sources":["../../../../src/adapters/http/server/transport.ts"],"names":[],"mappings":"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"}
|
|
@@ -72,6 +72,19 @@ export interface HttpServerTransportOptions extends BrowserGuardOptions {
|
|
|
72
72
|
* test gives a fake clock.
|
|
73
73
|
*/
|
|
74
74
|
clock?: Clock;
|
|
75
|
+
/**
|
|
76
|
+
* More headers that carry a secret, for example the token header of an application. They go
|
|
77
|
+
* into the credentials of the request, not into its metadata. `Authorization`,
|
|
78
|
+
* `Proxy-Authorization`, `Cookie` and `X-Api-Key` are always secret.
|
|
79
|
+
*/
|
|
80
|
+
secretHeaders?: readonly string[];
|
|
81
|
+
/**
|
|
82
|
+
* The query parameters that carry a secret. They go into the credentials of the request, not
|
|
83
|
+
* into its metadata. The default keeps each query parameter in the metadata, as before.
|
|
84
|
+
* `procedureHandler` has the default `["token"]`.
|
|
85
|
+
* @default []
|
|
86
|
+
*/
|
|
87
|
+
secretQuery?: readonly string[];
|
|
75
88
|
/**
|
|
76
89
|
* Custom CORS options. `origin` is "*", one origin or a list: the response names the
|
|
77
90
|
* request's origin when it is in the list.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/adapters/http/server/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,MAAM,CAAC;AACjD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAErD;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE,OAAO,KAAK,MAAM,GAAG,IAAI,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,0BAA2B,SAAQ,mBAAmB;IACrE;;;OAGG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;IAEd;;;;OAIG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IAExB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,WAAW,CAAC,EAAE,eAAe,CAAC;IAE9B;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC;IAE7B;;;OAGG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC;IAEd;;;OAGG;IACH,WAAW,CAAC,EAAE;QACZ,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;QAC3B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QACnB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;QAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB,CAAC;CACH"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/adapters/http/server/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,MAAM,CAAC;AACjD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAErD;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE,OAAO,KAAK,MAAM,GAAG,IAAI,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,0BAA2B,SAAQ,mBAAmB;IACrE;;;OAGG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;IAEd;;;;OAIG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IAExB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,WAAW,CAAC,EAAE,eAAe,CAAC;IAE9B;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC;IAE7B;;;OAGG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC;IAEd;;;;OAIG;IACH,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAElC;;;;;OAKG;IACH,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAEhC;;;OAGG;IACH,WAAW,CAAC,EAAE;QACZ,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;QAC3B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QACnB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;QAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB,CAAC;CACH"}
|
|
@@ -3,7 +3,15 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Adapts WebSocket connections to unified RPC format.
|
|
5
5
|
* Supports bidirectional streaming and persistent connections.
|
|
6
|
+
*
|
|
7
|
+
* The transport runs the `WebSocketServer` of `ws` in its "no server" mode (CLI-3). `upgrade()`
|
|
8
|
+
* takes the upgrade requests of its path. With the option `server`, the transport attaches
|
|
9
|
+
* `upgrade()` to that server through one router for each server, so two endpoints of different
|
|
10
|
+
* paths can share a server. Without it, the owner of the listener gives the upgrades to
|
|
11
|
+
* `upgrade()`, or mounts `upgradeHandler()` of `@procedures/client/node`.
|
|
6
12
|
*/
|
|
13
|
+
import type { IncomingMessage } from "http";
|
|
14
|
+
import type { Duplex } from "stream";
|
|
7
15
|
import type { ServerTransport } from "../../../server/types.js";
|
|
8
16
|
import type { Message, ResponseItem, Transport } from "../../../client/types.js";
|
|
9
17
|
import type { RequestHandler } from "../../../server/types.js";
|
|
@@ -38,6 +46,16 @@ export declare class WebSocketServerTransport implements ServerTransport {
|
|
|
38
46
|
readonly name = "websocket";
|
|
39
47
|
private wss;
|
|
40
48
|
private options;
|
|
49
|
+
/** The more headers that carry a secret (CLI-2a) */
|
|
50
|
+
private readonly secretHeaders;
|
|
51
|
+
/** The function that detaches `upgrade()` from the `server` of the options */
|
|
52
|
+
private detach;
|
|
53
|
+
/** True after `stopIntake()`: a new upgrade gets 503, and a new call gets `UNAVAILABLE` */
|
|
54
|
+
private intakeStopped;
|
|
55
|
+
/** The functions that `drain()` waits on: each one runs when no call is in flight */
|
|
56
|
+
private idleWaiters;
|
|
57
|
+
/** True: a cookie of an upgrade is trusted only from a named origin, with or without an auth path */
|
|
58
|
+
private cookiesNamed;
|
|
41
59
|
private server;
|
|
42
60
|
private connections;
|
|
43
61
|
/** The time until the first frame of a call to a client, in milliseconds (R24) */
|
|
@@ -63,7 +81,7 @@ export declare class WebSocketServerTransport implements ServerTransport {
|
|
|
63
81
|
private readonly guard;
|
|
64
82
|
private connectHandlers;
|
|
65
83
|
private disconnectHandlers;
|
|
66
|
-
constructor(server: RequestHandler, options
|
|
84
|
+
constructor(server: RequestHandler, options?: WebSocketServerTransportOptions);
|
|
67
85
|
/**
|
|
68
86
|
* One beat of the heartbeat: a connection that missed too many pongs closes at once (its close
|
|
69
87
|
* event aborts its requests), and each other connection gets a ping.
|
|
@@ -72,6 +90,33 @@ export declare class WebSocketServerTransport implements ServerTransport {
|
|
|
72
90
|
start(): Promise<void>;
|
|
73
91
|
stop(): Promise<void>;
|
|
74
92
|
isRunning(): boolean;
|
|
93
|
+
/** The path of the WebSocket endpoint. */
|
|
94
|
+
get path(): string;
|
|
95
|
+
/** This method gives true when an upgrade request is for the path of this endpoint. */
|
|
96
|
+
matches(req: IncomingMessage): boolean;
|
|
97
|
+
/**
|
|
98
|
+
* This method takes an upgrade request of its path and gives true. The browser checks, the
|
|
99
|
+
* `authenticate` handler and the handshake of `ws` follow. It gives false for another path, or
|
|
100
|
+
* before `start()`, and does not touch the socket. After `stopIntake()`, it refuses the upgrade
|
|
101
|
+
* with 503.
|
|
102
|
+
*/
|
|
103
|
+
upgrade(req: IncomingMessage, socket: Duplex, head: Buffer): boolean;
|
|
104
|
+
/**
|
|
105
|
+
* This method stops the intake: a new upgrade gets 503, and a new call on an open connection gets
|
|
106
|
+
* the retryable error `UNAVAILABLE`. The calls in flight go on. `start()` accepts again.
|
|
107
|
+
*/
|
|
108
|
+
stopIntake(): void;
|
|
109
|
+
/** The number of the calls in flight on all connections, open streams too. */
|
|
110
|
+
inFlight(): number;
|
|
111
|
+
/**
|
|
112
|
+
* This method waits until no call is in flight, until the `deadline` (milliseconds on the
|
|
113
|
+
* monotonic clock of `performance.now()`), or until the signal aborts.
|
|
114
|
+
*/
|
|
115
|
+
drain(deadline: number, signal?: AbortSignal): Promise<void>;
|
|
116
|
+
/** This method stops the transport: the same as `stop()`. */
|
|
117
|
+
close(): Promise<void>;
|
|
118
|
+
/** A call ended: a drain can end when no call is in flight. */
|
|
119
|
+
private callSettled;
|
|
75
120
|
/**
|
|
76
121
|
* Handle new WebSocket connection.
|
|
77
122
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../../../src/adapters/websocket/server/transport.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../../../src/adapters/websocket/server/transport.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,14 +3,22 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Adapts WebSocket connections to unified RPC format.
|
|
5
5
|
* Supports bidirectional streaming and persistent connections.
|
|
6
|
+
*
|
|
7
|
+
* The transport runs the `WebSocketServer` of `ws` in its "no server" mode (CLI-3). `upgrade()`
|
|
8
|
+
* takes the upgrade requests of its path. With the option `server`, the transport attaches
|
|
9
|
+
* `upgrade()` to that server through one router for each server, so two endpoints of different
|
|
10
|
+
* paths can share a server. Without it, the owner of the listener gives the upgrades to
|
|
11
|
+
* `upgrade()`, or mounts `upgradeHandler()` of `@procedures/client/node`.
|
|
6
12
|
*/
|
|
7
13
|
import { WebSocketServer, WebSocket } from "ws";
|
|
8
14
|
import { pathToMethod } from "../../../server/method.js";
|
|
9
15
|
import { IncomingCalls, OutgoingCalls } from "../shared/rpc.js";
|
|
10
16
|
import { withoutInternalKeys } from "../../metadata.js";
|
|
11
|
-
import { checkBrowserRequest } from "../../../server/browser-guard.js";
|
|
17
|
+
import { assertNamedOrigins, checkBrowserRequest, needsNamedOrigin } from "../../../server/browser-guard.js";
|
|
12
18
|
import { optionalMs } from "../../../duration.js";
|
|
13
|
-
import {
|
|
19
|
+
import { headerNames, requestCredentials, urlParts, withoutSecretHeaders } from "../../../server/request-auth.js";
|
|
20
|
+
import { attachUpgradeTarget, refuseUpgrade } from "./upgrade-router.js";
|
|
21
|
+
import { realClock } from "../../../clock.js";
|
|
14
22
|
import { PROTOCOL_VERSION, protocolVersionOf } from "../../../protocol.js";
|
|
15
23
|
import { TIMER_DEFAULTS } from "../../../timers.js";
|
|
16
24
|
import { remoteEvents, subscribeRemote, } from "../../../events/remote.js";
|
|
@@ -43,6 +51,16 @@ export class WebSocketServerTransport {
|
|
|
43
51
|
name = "websocket";
|
|
44
52
|
wss = null;
|
|
45
53
|
options;
|
|
54
|
+
/** The more headers that carry a secret (CLI-2a) */
|
|
55
|
+
secretHeaders;
|
|
56
|
+
/** The function that detaches `upgrade()` from the `server` of the options */
|
|
57
|
+
detach;
|
|
58
|
+
/** True after `stopIntake()`: a new upgrade gets 503, and a new call gets `UNAVAILABLE` */
|
|
59
|
+
intakeStopped = false;
|
|
60
|
+
/** The functions that `drain()` waits on: each one runs when no call is in flight */
|
|
61
|
+
idleWaiters = [];
|
|
62
|
+
/** True: a cookie of an upgrade is trusted only from a named origin, with or without an auth path */
|
|
63
|
+
cookiesNamed = false;
|
|
46
64
|
server;
|
|
47
65
|
connections = new Set();
|
|
48
66
|
/** The time until the first frame of a call to a client, in milliseconds (R24) */
|
|
@@ -70,7 +88,7 @@ export class WebSocketServerTransport {
|
|
|
70
88
|
// Connection lifecycle event handlers
|
|
71
89
|
connectHandlers = [];
|
|
72
90
|
disconnectHandlers = [];
|
|
73
|
-
constructor(server, options) {
|
|
91
|
+
constructor(server, options = {}) {
|
|
74
92
|
this.server = server;
|
|
75
93
|
this.options = {
|
|
76
94
|
server: options.server,
|
|
@@ -83,6 +101,9 @@ export class WebSocketServerTransport {
|
|
|
83
101
|
highWaterMark: options.highWaterMark ?? 1024 * 1024,
|
|
84
102
|
};
|
|
85
103
|
this.guard = { allowedOrigins: options.allowedOrigins, allowedHosts: options.allowedHosts };
|
|
104
|
+
// CSRF: a server that reads the cookies of each request needs named origins (CLI-2a)
|
|
105
|
+
assertNamedOrigins("WebSocketServerTransport", server.ambientCredentials, options.allowedOrigins, "allowedOrigins");
|
|
106
|
+
this.secretHeaders = headerNames(options.secretHeaders);
|
|
86
107
|
this.reverseRequestTimeoutMs = optionalMs(options.reverseRequestTimeout, "reverseRequestTimeout") ?? TIMER_DEFAULTS.webSocketServer.reverseRequestTimeoutMs;
|
|
87
108
|
this.heartbeat =
|
|
88
109
|
options.heartbeat === false
|
|
@@ -116,9 +137,21 @@ export class WebSocketServerTransport {
|
|
|
116
137
|
}
|
|
117
138
|
}
|
|
118
139
|
async start() {
|
|
119
|
-
|
|
140
|
+
this.open();
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* This method creates the WebSocket server at once, and attaches it to the `server` of the
|
|
144
|
+
* options. `start()` calls it, and `upgradeHandler()` too. A second call does nothing.
|
|
145
|
+
*
|
|
146
|
+
* @internal
|
|
147
|
+
*/
|
|
148
|
+
open() {
|
|
149
|
+
this.intakeStopped = false;
|
|
150
|
+
if (this.wss)
|
|
151
|
+
return;
|
|
152
|
+
// The "no server" mode: upgrade() takes the upgrades of the path, and leaves the others alone
|
|
120
153
|
this.wss = new WebSocketServer({
|
|
121
|
-
|
|
154
|
+
noServer: true,
|
|
122
155
|
path: this.options.path,
|
|
123
156
|
perMessageDeflate: this.options.perMessageDeflate,
|
|
124
157
|
maxPayload: this.options.maxPayload,
|
|
@@ -127,7 +160,11 @@ export class WebSocketServerTransport {
|
|
|
127
160
|
// when the host gave an authenticate handler, so any web page could open one and call
|
|
128
161
|
// procedures (cross-site WebSocket hijacking)
|
|
129
162
|
verifyClient: async ({ req }, callback) => {
|
|
130
|
-
|
|
163
|
+
// The cookies of an upgrade are trusted only from a named origin, when the server or the
|
|
164
|
+
// authenticate handler can read them (cross-site WebSocket hijacking with cookies)
|
|
165
|
+
const readsCookies = this.cookiesNamed || this.options.authenticate !== undefined;
|
|
166
|
+
const ambient = needsNamedOrigin(this.server.ambientCredentials, req.headers, readsCookies);
|
|
167
|
+
const guard = checkBrowserRequest(req, this.guard, false, ambient);
|
|
131
168
|
if (!guard.ok) {
|
|
132
169
|
callback(false, guard.status, guard.message);
|
|
133
170
|
return;
|
|
@@ -149,6 +186,8 @@ export class WebSocketServerTransport {
|
|
|
149
186
|
this.wss.on("connection", (ws, req) => {
|
|
150
187
|
this.handleConnection(ws, req);
|
|
151
188
|
});
|
|
189
|
+
if (this.options.server)
|
|
190
|
+
this.detach = attachUpgradeTarget(this.options.server, this);
|
|
152
191
|
if (this.heartbeat) {
|
|
153
192
|
this.heartbeatTimer = setInterval(() => this.beat(), this.heartbeat.interval);
|
|
154
193
|
// The heartbeat must not keep the process alive
|
|
@@ -161,6 +200,8 @@ export class WebSocketServerTransport {
|
|
|
161
200
|
clearInterval(this.heartbeatTimer);
|
|
162
201
|
this.heartbeatTimer = undefined;
|
|
163
202
|
}
|
|
203
|
+
this.detach?.();
|
|
204
|
+
this.detach = undefined;
|
|
164
205
|
if (this.wss) {
|
|
165
206
|
// Stop the requests in progress, so their handlers end (deep dive TRN-15), and fail the
|
|
166
207
|
// calls that the server sent to its clients
|
|
@@ -169,6 +210,7 @@ export class WebSocketServerTransport {
|
|
|
169
210
|
channel.outgoing.failAll("Server stopped");
|
|
170
211
|
}
|
|
171
212
|
this.channels.clear();
|
|
213
|
+
this.callSettled();
|
|
172
214
|
// Close all connections
|
|
173
215
|
for (const ws of this.connections) {
|
|
174
216
|
ws.close();
|
|
@@ -192,6 +234,90 @@ export class WebSocketServerTransport {
|
|
|
192
234
|
isRunning() {
|
|
193
235
|
return this.wss !== null;
|
|
194
236
|
}
|
|
237
|
+
/**
|
|
238
|
+
* This method makes the transport trust a cookie of an upgrade only from a named origin, also
|
|
239
|
+
* without an auth path that reads it. `upgradeHandler()` calls it.
|
|
240
|
+
*
|
|
241
|
+
* @internal
|
|
242
|
+
*/
|
|
243
|
+
nameOriginsForCookies() {
|
|
244
|
+
this.cookiesNamed = true;
|
|
245
|
+
}
|
|
246
|
+
/** The path of the WebSocket endpoint. */
|
|
247
|
+
get path() {
|
|
248
|
+
return this.options.path;
|
|
249
|
+
}
|
|
250
|
+
/** This method gives true when an upgrade request is for the path of this endpoint. */
|
|
251
|
+
matches(req) {
|
|
252
|
+
return urlParts(req.url).path === this.options.path;
|
|
253
|
+
}
|
|
254
|
+
/**
|
|
255
|
+
* This method takes an upgrade request of its path and gives true. The browser checks, the
|
|
256
|
+
* `authenticate` handler and the handshake of `ws` follow. It gives false for another path, or
|
|
257
|
+
* before `start()`, and does not touch the socket. After `stopIntake()`, it refuses the upgrade
|
|
258
|
+
* with 503.
|
|
259
|
+
*/
|
|
260
|
+
upgrade(req, socket, head) {
|
|
261
|
+
const wss = this.wss;
|
|
262
|
+
if (!wss || !this.matches(req))
|
|
263
|
+
return false;
|
|
264
|
+
if (this.intakeStopped) {
|
|
265
|
+
refuseUpgrade(socket, 503, "The server is stopping");
|
|
266
|
+
return true;
|
|
267
|
+
}
|
|
268
|
+
wss.handleUpgrade(req, socket, head, (ws) => wss.emit("connection", ws, req));
|
|
269
|
+
return true;
|
|
270
|
+
}
|
|
271
|
+
/**
|
|
272
|
+
* This method stops the intake: a new upgrade gets 503, and a new call on an open connection gets
|
|
273
|
+
* the retryable error `UNAVAILABLE`. The calls in flight go on. `start()` accepts again.
|
|
274
|
+
*/
|
|
275
|
+
stopIntake() {
|
|
276
|
+
this.intakeStopped = true;
|
|
277
|
+
}
|
|
278
|
+
/** The number of the calls in flight on all connections, open streams too. */
|
|
279
|
+
inFlight() {
|
|
280
|
+
let count = 0;
|
|
281
|
+
for (const channel of this.channels.values())
|
|
282
|
+
count += channel.incoming.size;
|
|
283
|
+
return count;
|
|
284
|
+
}
|
|
285
|
+
/**
|
|
286
|
+
* This method waits until no call is in flight, until the `deadline` (milliseconds on the
|
|
287
|
+
* monotonic clock of `performance.now()`), or until the signal aborts.
|
|
288
|
+
*/
|
|
289
|
+
drain(deadline, signal) {
|
|
290
|
+
if (this.inFlight() === 0 || signal?.aborted)
|
|
291
|
+
return Promise.resolve();
|
|
292
|
+
return new Promise((resolve) => {
|
|
293
|
+
let timer;
|
|
294
|
+
const done = () => {
|
|
295
|
+
timer?.();
|
|
296
|
+
signal?.removeEventListener("abort", done);
|
|
297
|
+
const index = this.idleWaiters.indexOf(done);
|
|
298
|
+
if (index >= 0)
|
|
299
|
+
this.idleWaiters.splice(index, 1);
|
|
300
|
+
resolve();
|
|
301
|
+
};
|
|
302
|
+
this.idleWaiters.push(done);
|
|
303
|
+
signal?.addEventListener("abort", done, { once: true });
|
|
304
|
+
timer = realClock.after(Math.max(0, deadline - realClock.now()), done);
|
|
305
|
+
timer.unref?.();
|
|
306
|
+
});
|
|
307
|
+
}
|
|
308
|
+
/** This method stops the transport: the same as `stop()`. */
|
|
309
|
+
close() {
|
|
310
|
+
return this.stop();
|
|
311
|
+
}
|
|
312
|
+
/** A call ended: a drain can end when no call is in flight. */
|
|
313
|
+
callSettled() {
|
|
314
|
+
if (this.idleWaiters.length === 0 || this.inFlight() > 0)
|
|
315
|
+
return;
|
|
316
|
+
const waiters = this.idleWaiters;
|
|
317
|
+
this.idleWaiters = [];
|
|
318
|
+
for (const waiter of waiters)
|
|
319
|
+
waiter();
|
|
320
|
+
}
|
|
195
321
|
/**
|
|
196
322
|
* Handle new WebSocket connection.
|
|
197
323
|
*/
|
|
@@ -206,10 +332,13 @@ export class WebSocketServerTransport {
|
|
|
206
332
|
connectedAt: new Date(),
|
|
207
333
|
metadata: {
|
|
208
334
|
remoteAddress: req.socket.remoteAddress,
|
|
209
|
-
headers: withoutSecretHeaders(req.headers),
|
|
335
|
+
headers: withoutSecretHeaders(req.headers, this.secretHeaders),
|
|
210
336
|
},
|
|
211
337
|
};
|
|
212
338
|
this.trackedConnections.set(connectionId, trackedConnection);
|
|
339
|
+
// The credentials of the upgrade, for each call of the connection: the bearer token of its
|
|
340
|
+
// Authorization header or of its token query, its cookies, its headers and its query (CLI-2a)
|
|
341
|
+
const credentials = requestCredentials({ headers: req.headers, url: req.url }, { tokenQuery: "token" });
|
|
213
342
|
// The calls of this connection in the two directions (roadmap R24)
|
|
214
343
|
const isOpen = () => ws.readyState === WebSocket.OPEN;
|
|
215
344
|
const send = (frame) => this.send(ws, frame);
|
|
@@ -219,7 +348,8 @@ export class WebSocketServerTransport {
|
|
|
219
348
|
send,
|
|
220
349
|
sendWithBackpressure: (frame, signal) => this.sendWithBackpressure(ws, frame, signal),
|
|
221
350
|
isOpen,
|
|
222
|
-
requestOf: (frame, signal) => this.requestOf(frame, req, connectionId, signal),
|
|
351
|
+
requestOf: (frame, signal) => this.requestOf(frame, req, connectionId, signal, credentials),
|
|
352
|
+
onSettled: () => this.callSettled(),
|
|
223
353
|
}),
|
|
224
354
|
outgoing: new OutgoingCalls({
|
|
225
355
|
send,
|
|
@@ -262,6 +392,7 @@ export class WebSocketServerTransport {
|
|
|
262
392
|
channel?.incoming.abortAll();
|
|
263
393
|
channel?.outgoing.failAll("WebSocket connection closed");
|
|
264
394
|
this.channels.delete(connectionId);
|
|
395
|
+
this.callSettled();
|
|
265
396
|
this.eventTransports.delete(connectionId);
|
|
266
397
|
const conn = this.trackedConnections.get(connectionId);
|
|
267
398
|
if (conn) {
|
|
@@ -288,7 +419,7 @@ export class WebSocketServerTransport {
|
|
|
288
419
|
* The server request of a `request` frame of a connection: the metadata of the frame and of the
|
|
289
420
|
* connection, the signal of the call, and the credentials of the upgrade (roadmap R18).
|
|
290
421
|
*/
|
|
291
|
-
requestOf(frame, req, connectionId, signal) {
|
|
422
|
+
requestOf(frame, req, connectionId, signal, credentials) {
|
|
292
423
|
return {
|
|
293
424
|
id: frame.id,
|
|
294
425
|
method: frame.method,
|
|
@@ -300,11 +431,12 @@ export class WebSocketServerTransport {
|
|
|
300
431
|
connectionId,
|
|
301
432
|
remoteAddress: req.socket.remoteAddress,
|
|
302
433
|
// The upgrade headers without their secrets (roadmap R18)
|
|
303
|
-
headers: withoutSecretHeaders(req.headers),
|
|
434
|
+
headers: withoutSecretHeaders(req.headers, this.secretHeaders),
|
|
304
435
|
},
|
|
305
436
|
signal,
|
|
306
|
-
// The credentials of the connection: the bearer token of its upgrade (R18)
|
|
307
|
-
|
|
437
|
+
// The credentials of the connection: the bearer token of its upgrade (R18), its cookies,
|
|
438
|
+
// its headers and its query (CLI-2a)
|
|
439
|
+
credentials,
|
|
308
440
|
};
|
|
309
441
|
}
|
|
310
442
|
/**
|
|
@@ -349,6 +481,11 @@ export class WebSocketServerTransport {
|
|
|
349
481
|
// A frame of a call that the server sent to this client (roadmap R24)
|
|
350
482
|
if (channel.outgoing.receive(message))
|
|
351
483
|
return;
|
|
484
|
+
// After stopIntake(), a new call goes to another server or comes again later
|
|
485
|
+
if (this.intakeStopped && message.type === "request") {
|
|
486
|
+
this.sendError(ws, message.id || "unknown", "The server is stopping", "UNAVAILABLE", true);
|
|
487
|
+
return;
|
|
488
|
+
}
|
|
352
489
|
// A frame of a call of the client: a request, a cancel or a credit
|
|
353
490
|
if (channel.incoming.receive(message))
|
|
354
491
|
return;
|
|
@@ -388,7 +525,7 @@ export class WebSocketServerTransport {
|
|
|
388
525
|
/**
|
|
389
526
|
* Send error to client.
|
|
390
527
|
*/
|
|
391
|
-
sendError(ws, id, message, code = "INTERNAL_ERROR") {
|
|
528
|
+
sendError(ws, id, message, code = "INTERNAL_ERROR", retryable = false) {
|
|
392
529
|
const errorMessage = {
|
|
393
530
|
id,
|
|
394
531
|
type: "error",
|
|
@@ -396,12 +533,12 @@ export class WebSocketServerTransport {
|
|
|
396
533
|
type: "error",
|
|
397
534
|
code,
|
|
398
535
|
message,
|
|
399
|
-
retryable
|
|
536
|
+
retryable,
|
|
400
537
|
},
|
|
401
538
|
error: {
|
|
402
539
|
code,
|
|
403
540
|
message,
|
|
404
|
-
retryable
|
|
541
|
+
retryable,
|
|
405
542
|
},
|
|
406
543
|
};
|
|
407
544
|
this.send(ws, errorMessage);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transport.js","sourceRoot":"","sources":["../../../../src/adapters/websocket/server/transport.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"transport.js","sourceRoot":"","sources":["../../../../src/adapters/websocket/server/transport.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,10 +23,11 @@ export type WebSocketConnectionHandler = (ws: WebSocket, req: IncomingMessage) =
|
|
|
23
23
|
*/
|
|
24
24
|
export interface WebSocketServerTransportOptions extends Omit<BrowserGuardOptions, "allowGet"> {
|
|
25
25
|
/**
|
|
26
|
-
* HTTP server
|
|
27
|
-
*
|
|
26
|
+
* The HTTP server whose upgrade requests the transport takes. The transport takes only the
|
|
27
|
+
* upgrades of its path, so several endpoints can share one server. Without it, the owner of the
|
|
28
|
+
* listener gives each upgrade to `upgrade()`, or mounts `upgradeHandler()`.
|
|
28
29
|
*/
|
|
29
|
-
server
|
|
30
|
+
server?: HttpServer | undefined;
|
|
30
31
|
/**
|
|
31
32
|
* Path for WebSocket connections.
|
|
32
33
|
* @default "/ws"
|
|
@@ -79,6 +80,12 @@ export interface WebSocketServerTransportOptions extends Omit<BrowserGuardOption
|
|
|
79
80
|
* @default seconds(30)
|
|
80
81
|
*/
|
|
81
82
|
reverseRequestTimeout?: Duration;
|
|
83
|
+
/**
|
|
84
|
+
* More headers that carry a secret, for example the token header of an application. They go
|
|
85
|
+
* into the credentials of each call, not into its metadata. `Authorization`,
|
|
86
|
+
* `Proxy-Authorization`, `Cookie` and `X-Api-Key` are always secret.
|
|
87
|
+
*/
|
|
88
|
+
secretHeaders?: readonly string[] | undefined;
|
|
82
89
|
}
|
|
83
90
|
/**
|
|
84
91
|
* WebSocket message format for RPC.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/adapters/websocket/server/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AAC5C,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,MAAM,CAAC;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAErD;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAAG,CACjC,GAAG,EAAE,eAAe,KACjB,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;AAEhC;;;GAGG;AACH,MAAM,MAAM,0BAA0B,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,eAAe,KAAK,IAAI,CAAC;AAEvF;;GAEG;AACH,MAAM,WAAW,+BAAgC,SAAQ,IAAI,CAAC,mBAAmB,EAAE,UAAU,CAAC;IAC5F
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/adapters/websocket/server/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The router of the upgrade requests of one `node:http` server (CLI-3).
|
|
3
|
+
*
|
|
4
|
+
* Before, each `WebSocketServerTransport` attached its own `WebSocketServer` of `ws` to the server.
|
|
5
|
+
* Such a server refuses each upgrade of another path with 400, so a second endpoint on the same
|
|
6
|
+
* server did not get its upgrades. With this router, each transport of the server is a target of
|
|
7
|
+
* one router. The router gives an upgrade to the first target that takes it. When no target takes it and no other
|
|
8
|
+
* listener of the server can take it, the router refuses it with 400, as before.
|
|
9
|
+
*
|
|
10
|
+
* This module imports only types of Node.
|
|
11
|
+
*/
|
|
12
|
+
import type { IncomingMessage, Server as HttpServer } from "http";
|
|
13
|
+
import type { Duplex } from "stream";
|
|
14
|
+
/** A target of the router: it takes an upgrade (true), or leaves it alone (false). */
|
|
15
|
+
export interface UpgradeTarget {
|
|
16
|
+
upgrade(req: IncomingMessage, socket: Duplex, head: Buffer): boolean;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* This function refuses an upgrade: it writes an HTTP response with the status and the message,
|
|
20
|
+
* then it destroys the socket.
|
|
21
|
+
*/
|
|
22
|
+
export declare function refuseUpgrade(socket: Duplex, status: number, message?: string): void;
|
|
23
|
+
/**
|
|
24
|
+
* This function attaches a target to the upgrades of a server. It gives the function that
|
|
25
|
+
* detaches it. The router leaves the server when its last target goes.
|
|
26
|
+
*/
|
|
27
|
+
export declare function attachUpgradeTarget(server: HttpServer, target: UpgradeTarget): () => void;
|
|
28
|
+
//# sourceMappingURL=upgrade-router.d.ts.map
|