@leaven-graphql/ws 0.2.2 → 0.2.3
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/README.md +9 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +23 -6
- package/dist/manager.d.ts.map +1 -1
- package/dist/protocol.d.ts +19 -0
- package/dist/protocol.d.ts.map +1 -1
- package/dist/pubsub.d.ts.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -466,6 +466,10 @@ function createErrorMessage(
|
|
|
466
466
|
function createCompleteMessage(id: string): CompleteMessage;
|
|
467
467
|
function createPongMessage(payload?: Record<string, unknown>): PongMessage;
|
|
468
468
|
|
|
469
|
+
/** `/^[A-Za-z0-9_.:-]{1,64}$/`: the accepted shape of a client operation id */
|
|
470
|
+
const OPERATION_ID_PATTERN: RegExp;
|
|
471
|
+
function isValidOperationId(id: unknown): id is string;
|
|
472
|
+
|
|
469
473
|
interface ParseMessageOptions {
|
|
470
474
|
/**
|
|
471
475
|
* Require a string `id` on the types that carry one (`subscribe`, `next`,
|
|
@@ -494,7 +498,11 @@ const message = parseMessage(data, { requireId: false });
|
|
|
494
498
|
|
|
495
499
|
`parseMessage` throws on invalid JSON, on JSON that is not an object, on a
|
|
496
500
|
missing or unknown `type`, and — unless `requireId` is `false` — on a missing
|
|
497
|
-
`id
|
|
501
|
+
`id`, or on a `subscribe`/`complete` id that does not match
|
|
502
|
+
`OPERATION_ID_PATTERN` (`Invalid message`). The server closes the socket with
|
|
503
|
+
4400 in every one of those cases. Ids are client-chosen and reach close
|
|
504
|
+
reasons and log lines, so the allow-list keeps control characters and
|
|
505
|
+
oversized strings out of both; UUIDs, counters and `prefix:n` ids all pass.
|
|
498
506
|
|
|
499
507
|
### Message Types
|
|
500
508
|
|
package/dist/index.d.ts
CHANGED
|
@@ -11,5 +11,5 @@ export type { SubscriptionManagerConfig, Subscription, SubscriptionStatus } from
|
|
|
11
11
|
export { PubSub, createPubSub } from './pubsub';
|
|
12
12
|
export type { WebSocketLogger } from './logger';
|
|
13
13
|
export type { PubSubConfig, PubSubEngine, SubscribeFn, PublishFn } from './pubsub';
|
|
14
|
-
export { MessageType, parseMessage, formatMessage, createConnectionAck, createNextMessage, createErrorMessage, createCompleteMessage, createPongMessage, type ConnectionInitMessage, type ConnectionAckMessage, type SubscribeMessage, type NextMessage, type ErrorMessage, type CompleteMessage, type PingMessage, type PongMessage, type ParseMessageOptions, } from './protocol';
|
|
14
|
+
export { MessageType, parseMessage, formatMessage, createConnectionAck, createNextMessage, createErrorMessage, createCompleteMessage, createPongMessage, isValidOperationId, OPERATION_ID_PATTERN, type ConnectionInitMessage, type ConnectionAckMessage, type SubscribeMessage, type NextMessage, type ErrorMessage, type CompleteMessage, type PingMessage, type PongMessage, type ParseMessageOptions, } from './protocol';
|
|
15
15
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AACrE,YAAY,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE1E,OAAO,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAC;AAC3E,YAAY,EAAE,yBAAyB,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAE7F,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAChD,YAAY,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAChD,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAEnF,OAAO,EACL,WAAW,EACX,YAAY,EACZ,aAAa,EACb,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,qBAAqB,EACrB,iBAAiB,EACjB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,mBAAmB,GACzB,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AACrE,YAAY,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE1E,OAAO,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAC;AAC3E,YAAY,EAAE,yBAAyB,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAE7F,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAChD,YAAY,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAChD,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAEnF,OAAO,EACL,WAAW,EACX,YAAY,EACZ,aAAa,EACb,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,mBAAmB,GACzB,MAAM,YAAY,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -4,7 +4,8 @@ import { OperationTypeNode, getOperationAST } from "graphql";
|
|
|
4
4
|
|
|
5
5
|
// src/manager.ts
|
|
6
6
|
import {
|
|
7
|
-
LeavenExecutor
|
|
7
|
+
LeavenExecutor,
|
|
8
|
+
escapeLog
|
|
8
9
|
} from "@leaven-graphql/core";
|
|
9
10
|
|
|
10
11
|
// src/logger.ts
|
|
@@ -46,7 +47,7 @@ class SubscriptionManager {
|
|
|
46
47
|
throw new Error("Maximum subscriptions per connection reached");
|
|
47
48
|
}
|
|
48
49
|
if (existing?.has(subscriptionId)) {
|
|
49
|
-
throw new Error(`Subscription ${subscriptionId} already exists`);
|
|
50
|
+
throw new Error(`Subscription ${escapeLog(subscriptionId)} already exists`);
|
|
50
51
|
}
|
|
51
52
|
const subscription = {
|
|
52
53
|
id: subscriptionId,
|
|
@@ -87,11 +88,11 @@ class SubscriptionManager {
|
|
|
87
88
|
const timedOut = this.getSubscription(connectionId, subscriptionId);
|
|
88
89
|
if (timedOut === subscription && timedOut.status === "active") {
|
|
89
90
|
timedOut.status = "completed";
|
|
90
|
-
logWarning(this.logger, `Subscription ${subscriptionId} timed out after ${this.subscriptionTimeout}ms`);
|
|
91
|
+
logWarning(this.logger, `Subscription ${escapeLog(subscriptionId)} timed out after ${this.subscriptionTimeout}ms`);
|
|
91
92
|
onComplete();
|
|
92
93
|
}
|
|
93
94
|
} catch (error) {
|
|
94
|
-
this.logger.error(`Error completing timed-out subscription ${subscriptionId}:`, error);
|
|
95
|
+
this.logger.error(`Error completing timed-out subscription ${escapeLog(subscriptionId)}:`, error);
|
|
95
96
|
} finally {
|
|
96
97
|
if (this.isCurrent(subscription)) {
|
|
97
98
|
this.unsubscribe(connectionId, subscriptionId);
|
|
@@ -201,6 +202,7 @@ function createSubscriptionManager(config) {
|
|
|
201
202
|
}
|
|
202
203
|
|
|
203
204
|
// src/protocol.ts
|
|
205
|
+
import { escapeLog as escapeLog2 } from "@leaven-graphql/core";
|
|
204
206
|
var MessageType;
|
|
205
207
|
((MessageType) => {
|
|
206
208
|
MessageType["ConnectionInit"] = "connection_init";
|
|
@@ -219,6 +221,14 @@ var ID_REQUIRED_TYPES = new Set([
|
|
|
219
221
|
"error" /* Error */,
|
|
220
222
|
"complete" /* Complete */
|
|
221
223
|
]);
|
|
224
|
+
var CLIENT_ID_TYPES = new Set([
|
|
225
|
+
"subscribe" /* Subscribe */,
|
|
226
|
+
"complete" /* Complete */
|
|
227
|
+
]);
|
|
228
|
+
var OPERATION_ID_PATTERN = /^[A-Za-z0-9_.:-]{1,64}$/;
|
|
229
|
+
function isValidOperationId(id) {
|
|
230
|
+
return typeof id === "string" && OPERATION_ID_PATTERN.test(id);
|
|
231
|
+
}
|
|
222
232
|
function parseMessage(data, options = {}) {
|
|
223
233
|
const requireId = options.requireId ?? true;
|
|
224
234
|
const text = typeof data === "string" ? data : data.toString("utf-8");
|
|
@@ -232,11 +242,14 @@ function parseMessage(data, options = {}) {
|
|
|
232
242
|
throw new Error("Message must have a type");
|
|
233
243
|
}
|
|
234
244
|
if (typeof message.type !== "string" || !VALID_MESSAGE_TYPES.has(message.type)) {
|
|
235
|
-
throw new Error(`Invalid message type: ${
|
|
245
|
+
throw new Error(`Invalid message type: ${escapeLog2(message.type, 12)}`);
|
|
236
246
|
}
|
|
237
247
|
if (requireId && ID_REQUIRED_TYPES.has(message.type) && typeof message.id !== "string") {
|
|
238
248
|
throw new Error(`Message of type "${message.type}" must have a string id`);
|
|
239
249
|
}
|
|
250
|
+
if (requireId && CLIENT_ID_TYPES.has(message.type) && !isValidOperationId(message.id)) {
|
|
251
|
+
throw new Error("Invalid message");
|
|
252
|
+
}
|
|
240
253
|
return message;
|
|
241
254
|
} catch (error) {
|
|
242
255
|
if (error instanceof SyntaxError) {
|
|
@@ -567,6 +580,8 @@ function createWebSocketHandler(config) {
|
|
|
567
580
|
return new WebSocketHandler(config);
|
|
568
581
|
}
|
|
569
582
|
// src/pubsub.ts
|
|
583
|
+
import { escapeLog as escapeLog3 } from "@leaven-graphql/core";
|
|
584
|
+
|
|
570
585
|
class PubSub {
|
|
571
586
|
subscribers;
|
|
572
587
|
wildcardPatterns;
|
|
@@ -597,7 +612,7 @@ class PubSub {
|
|
|
597
612
|
}
|
|
598
613
|
}
|
|
599
614
|
if (topicSubscribers.size >= this.maxSubscribersPerTopic) {
|
|
600
|
-
throw new Error(`Maximum subscribers reached for topic: ${topic}`);
|
|
615
|
+
throw new Error(`Maximum subscribers reached for topic: ${escapeLog3(topic)}`);
|
|
601
616
|
}
|
|
602
617
|
const subscriber = {
|
|
603
618
|
id: String(this.nextId++),
|
|
@@ -749,6 +764,7 @@ function createPubSub(config) {
|
|
|
749
764
|
}
|
|
750
765
|
export {
|
|
751
766
|
MessageType,
|
|
767
|
+
OPERATION_ID_PATTERN,
|
|
752
768
|
PubSub,
|
|
753
769
|
SubscriptionManager,
|
|
754
770
|
WebSocketHandler,
|
|
@@ -761,5 +777,6 @@ export {
|
|
|
761
777
|
createSubscriptionManager,
|
|
762
778
|
createWebSocketHandler,
|
|
763
779
|
formatMessage,
|
|
780
|
+
isValidOperationId,
|
|
764
781
|
parseMessage
|
|
765
782
|
};
|
package/dist/manager.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../src/manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC3D,OAAO,EACL,cAAc,
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../src/manager.ts"],"names":[],"mappings":"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"}
|
package/dist/protocol.d.ts
CHANGED
|
@@ -97,6 +97,22 @@ export interface CompleteMessage {
|
|
|
97
97
|
* All message types
|
|
98
98
|
*/
|
|
99
99
|
export type Message = ConnectionInitMessage | ConnectionAckMessage | PingMessage | PongMessage | SubscribeMessage | NextMessage | ErrorMessage | CompleteMessage;
|
|
100
|
+
/**
|
|
101
|
+
* Accepted shape of a client-chosen operation id: 1-64 characters from
|
|
102
|
+
* `[A-Za-z0-9_.:-]`.
|
|
103
|
+
*
|
|
104
|
+
* Ids are picked by the client and end up as map keys, in close reasons and
|
|
105
|
+
* in log lines. The graphql-ws spec only says "unique string", so in
|
|
106
|
+
* principle a client could send newlines, ANSI escapes or a megabyte of
|
|
107
|
+
* text; this allow-list covers UUIDs, counters and the `prefix:n` styles
|
|
108
|
+
* real clients use, and nothing that can forge a log line.
|
|
109
|
+
*/
|
|
110
|
+
export declare const OPERATION_ID_PATTERN: RegExp;
|
|
111
|
+
/**
|
|
112
|
+
* Whether a value is an acceptable client-chosen operation id.
|
|
113
|
+
* See {@link OPERATION_ID_PATTERN}.
|
|
114
|
+
*/
|
|
115
|
+
export declare function isValidOperationId(id: unknown): id is string;
|
|
100
116
|
/**
|
|
101
117
|
* Options for {@link parseMessage}
|
|
102
118
|
*/
|
|
@@ -113,6 +129,9 @@ export interface ParseMessageOptions {
|
|
|
113
129
|
* lenient peer may omit the id on `next`/`error`, and a parse throw there is
|
|
114
130
|
* far more disruptive (it tears down the whole connection) than tolerating
|
|
115
131
|
* the frame.
|
|
132
|
+
*
|
|
133
|
+
* When `true`, the id of a `subscribe` or `complete` frame must also match
|
|
134
|
+
* {@link OPERATION_ID_PATTERN}; anything else throws `Invalid message`.
|
|
116
135
|
*/
|
|
117
136
|
requireId?: boolean;
|
|
118
137
|
}
|
package/dist/protocol.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"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"}
|
package/dist/pubsub.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pubsub.d.ts","sourceRoot":"","sources":["../src/pubsub.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"pubsub.d.ts","sourceRoot":"","sources":["../src/pubsub.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAEhD;;GAEG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,GAAG,OAAO,IAAI,CACrC,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,IAAI,KAC3B,MAAM,IAAI,CAAC;AAEhB;;GAEG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,GAAG,OAAO,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,KAAK,IAAI,CAAC;AAEzE;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,WAAW,CAAC;IACvB,OAAO,EAAE,SAAS,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,oCAAoC;IACpC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,6BAA6B;IAC7B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,0EAA0E;IAC1E,MAAM,CAAC,EAAE,eAAe,CAAC;CAC1B;AAUD;;GAEG;AACH,qBAAa,MAAO,YAAW,YAAY;IACzC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA+B;IAC3D,wEAAwE;IACxE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAwB;IACzD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAS;IAChD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAU;IACpC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,MAAM,CAAS;gBAEX,MAAM,GAAE,YAAiB;IAUrC;;OAEG;IACI,SAAS,CAAC,CAAC,GAAG,OAAO,EAC1B,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,IAAI,GAC7B,MAAM,IAAI;IA+Cb;;OAEG;IACI,OAAO,CAAC,CAAC,GAAG,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI;IAmB5D;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA2B1B;;OAEG;IACH,OAAO,CAAC,eAAe;IAwBvB;;OAEG;IACI,aAAa,CAAC,CAAC,GAAG,OAAO,EAC9B,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GACvB,qBAAqB,CAAC,CAAC,CAAC;IAmF3B;;OAEG;IACI,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAIhD;;OAEG;IACI,SAAS,IAAI,MAAM,EAAE;IAI5B;;OAEG;IACI,KAAK,IAAI,IAAI;CAIrB;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,MAAM,CAE1D"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@leaven-graphql/ws",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.3",
|
|
4
4
|
"description": "WebSocket subscriptions support for Leaven GraphQL",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"directory": "packages/ws"
|
|
33
33
|
},
|
|
34
34
|
"dependencies": {
|
|
35
|
-
"@leaven-graphql/core": "0.2.
|
|
35
|
+
"@leaven-graphql/core": "0.2.3",
|
|
36
36
|
"@leaven-graphql/context": "0.2.1",
|
|
37
37
|
"@leaven-graphql/errors": "0.2.1"
|
|
38
38
|
},
|