@grest-ts/websocket 0.0.22 → 0.0.24

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.
Files changed (67) hide show
  1. package/README.md +150 -40
  2. package/dist/src/adapter/NodeSocketAdapter.d.ts +2 -0
  3. package/dist/src/adapter/NodeSocketAdapter.d.ts.map +1 -1
  4. package/dist/src/adapter/NodeSocketAdapter.js +6 -0
  5. package/dist/src/adapter/NodeSocketAdapter.js.map +1 -1
  6. package/dist/src/client/GGSocketPool.d.ts +21 -0
  7. package/dist/src/client/GGSocketPool.d.ts.map +1 -1
  8. package/dist/src/client/GGSocketPool.js +82 -63
  9. package/dist/src/client/GGSocketPool.js.map +1 -1
  10. package/dist/src/client/GGWebSocketSchema.createClient.d.ts +154 -0
  11. package/dist/src/client/GGWebSocketSchema.createClient.d.ts.map +1 -0
  12. package/dist/src/client/GGWebSocketSchema.createClient.js +345 -0
  13. package/dist/src/client/GGWebSocketSchema.createClient.js.map +1 -0
  14. package/dist/src/index-browser.d.ts +2 -1
  15. package/dist/src/index-browser.d.ts.map +1 -1
  16. package/dist/src/index-browser.js +3 -1
  17. package/dist/src/index-browser.js.map +1 -1
  18. package/dist/src/index-node.d.ts +2 -1
  19. package/dist/src/index-node.d.ts.map +1 -1
  20. package/dist/src/index-node.js +2 -1
  21. package/dist/src/index-node.js.map +1 -1
  22. package/dist/src/schema/GGWebSocketMiddleware.d.ts +12 -0
  23. package/dist/src/schema/GGWebSocketMiddleware.d.ts.map +1 -1
  24. package/dist/src/schema/GGWebSocketMiddleware.js +0 -4
  25. package/dist/src/schema/GGWebSocketMiddleware.js.map +1 -1
  26. package/dist/src/schema/GGWebSocketSchema.d.ts +4 -3
  27. package/dist/src/schema/GGWebSocketSchema.d.ts.map +1 -1
  28. package/dist/src/schema/GGWebSocketSchema.js +3 -1
  29. package/dist/src/schema/GGWebSocketSchema.js.map +1 -1
  30. package/dist/src/schema/webSocketSchema.d.ts +12 -6
  31. package/dist/src/schema/webSocketSchema.d.ts.map +1 -1
  32. package/dist/src/schema/webSocketSchema.js +9 -2
  33. package/dist/src/schema/webSocketSchema.js.map +1 -1
  34. package/dist/src/server/GGSocketServer.d.ts.map +1 -1
  35. package/dist/src/server/GGSocketServer.js +36 -2
  36. package/dist/src/server/GGSocketServer.js.map +1 -1
  37. package/dist/src/server/GGWebSocketSchema.startServer.d.ts +5 -3
  38. package/dist/src/server/GGWebSocketSchema.startServer.d.ts.map +1 -1
  39. package/dist/src/server/GGWebSocketSchema.startServer.js +7 -5
  40. package/dist/src/server/GGWebSocketSchema.startServer.js.map +1 -1
  41. package/dist/src/socket/GGSocket.d.ts +13 -1
  42. package/dist/src/socket/GGSocket.d.ts.map +1 -1
  43. package/dist/src/socket/GGSocket.js +52 -2
  44. package/dist/src/socket/GGSocket.js.map +1 -1
  45. package/dist/src/socket/SocketAdapter.d.ts +11 -0
  46. package/dist/src/socket/SocketAdapter.d.ts.map +1 -1
  47. package/dist/testkit/client/GGWebSocketSchema.callOn.d.ts +1 -1
  48. package/dist/testkit/client/GGWebSocketSchema.callOn.d.ts.map +1 -1
  49. package/dist/tsconfig.publish.tsbuildinfo +1 -1
  50. package/package.json +11 -11
  51. package/src/adapter/NodeSocketAdapter.ts +8 -0
  52. package/src/client/GGSocketPool.ts +90 -73
  53. package/src/client/GGWebSocketSchema.createClient.ts +534 -0
  54. package/src/index-browser.ts +5 -2
  55. package/src/index-node.ts +2 -1
  56. package/src/schema/GGWebSocketMiddleware.ts +14 -0
  57. package/src/schema/GGWebSocketSchema.ts +7 -3
  58. package/src/schema/webSocketSchema.ts +18 -8
  59. package/src/server/GGSocketServer.ts +51 -2
  60. package/src/server/GGWebSocketSchema.startServer.ts +14 -10
  61. package/src/socket/GGSocket.ts +56 -2
  62. package/src/socket/SocketAdapter.ts +13 -0
  63. package/dist/src/client/GGSocketClient.d.ts +0 -10
  64. package/dist/src/client/GGSocketClient.d.ts.map +0 -1
  65. package/dist/src/client/GGSocketClient.js +0 -17
  66. package/dist/src/client/GGSocketClient.js.map +0 -1
  67. package/src/client/GGSocketClient.ts +0 -25
@@ -1 +1 @@
1
- {"version":3,"file":"GGWebSocketSchema.d.ts","sourceRoot":"","sources":["../../../src/schema/GGWebSocketSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,qBAAqB,EAAC,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAC,uBAAuB,EAAE,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAE1E;;;;;;;;;GASG;AACH,qBAAa,iBAAiB,CAC1B,eAAe,EACf,eAAe,EACf,QAAQ,GAAG,EAAE,EACb,MAAM,GAAG,SAAS,EAClB,mBAAmB,GAAG,eAAe;IAErC,SAAgB,IAAI,EAAE,MAAM,CAAA;IAC5B,SAAgB,IAAI,EAAE,MAAM,CAAA;IAC5B,SAAgB,WAAW,EAAE,SAAS,qBAAqB,EAAE,CAAA;IAC7D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkC;IAClE,OAAO,CAAC,aAAa,CAA0C;gBAG3D,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,eAAe,EAAE,MAAM,0BAA0B,EACjD,WAAW,GAAE,SAAS,qBAAqB,EAAO;IAStD,IAAI,QAAQ,IAAI,0BAA0B,CAMzC;CACJ;AAED;;;GAGG;AACH,MAAM,WAAW,0BAA0B;IACvC,OAAO,EAAE,MAAM,CAAA;IACf,cAAc,EAAE,eAAe,CAAC,uBAAuB,CAAC,CAAA;IACxD,cAAc,EAAE,eAAe,CAAC,uBAAuB,CAAC,CAAA;CAC3D"}
1
+ {"version":3,"file":"GGWebSocketSchema.d.ts","sourceRoot":"","sources":["../../../src/schema/GGWebSocketSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,qBAAqB,EAAC,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAC,uBAAuB,EAAE,eAAe,EAAE,WAAW,EAAC,MAAM,kBAAkB,CAAC;AAEvF;;;;;;;;;GASG;AACH,qBAAa,iBAAiB,CAC1B,eAAe,EACf,eAAe,EACf,QAAQ,GAAG,EAAE,EACb,MAAM,GAAG,SAAS,EAClB,mBAAmB,GAAG,eAAe,EACrC,mBAAmB,GAAG,eAAe;IAErC,SAAgB,IAAI,EAAE,MAAM,CAAA;IAC5B,SAAgB,IAAI,EAAE,MAAM,CAAA;IAC5B,SAAgB,WAAW,EAAE,SAAS,qBAAqB,EAAE,CAAA;IAC7D,SAAgB,cAAc,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IACpD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkC;IAClE,OAAO,CAAC,aAAa,CAA0C;gBAG3D,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,eAAe,EAAE,MAAM,0BAA0B,EACjD,WAAW,GAAE,SAAS,qBAAqB,EAAO,EAClD,cAAc,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC;IAUxC,IAAI,QAAQ,IAAI,0BAA0B,CAMzC;CACJ;AAED;;;GAGG;AACH,MAAM,WAAW,0BAA0B;IACvC,OAAO,EAAE,MAAM,CAAA;IACf,cAAc,EAAE,eAAe,CAAC,uBAAuB,CAAC,CAAA;IACxD,cAAc,EAAE,eAAe,CAAC,uBAAuB,CAAC,CAAA;CAC3D"}
@@ -12,12 +12,14 @@ export class GGWebSocketSchema {
12
12
  name;
13
13
  path;
14
14
  middlewares;
15
+ queryValidator;
15
16
  contractFactory;
16
17
  contractCache = null;
17
- constructor(name, path, contractFactory, middlewares = []) {
18
+ constructor(name, path, contractFactory, middlewares = [], queryValidator) {
18
19
  this.name = name;
19
20
  this.path = path;
20
21
  this.middlewares = middlewares;
22
+ this.queryValidator = queryValidator;
21
23
  this.contractFactory = contractFactory;
22
24
  Object.freeze(this.middlewares);
23
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"GGWebSocketSchema.js","sourceRoot":"","sources":["../../../src/schema/GGWebSocketSchema.ts"],"names":[],"mappings":"AAGA;;;;;;;;;GASG;AACH,MAAM,OAAO,iBAAiB;IAOV,IAAI,CAAQ;IACZ,IAAI,CAAQ;IACZ,WAAW,CAAkC;IAC5C,eAAe,CAAkC;IAC1D,aAAa,GAAsC,IAAI,CAAA;IAE/D,YACI,IAAY,EACZ,IAAY,EACZ,eAAiD,EACjD,cAAgD,EAAE;QAElD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;QAC9B,IAAI,CAAC,eAAe,GAAG,eAAe,CAAA;QACtC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IACnC,CAAC;IAED,IAAI,QAAQ;QACR,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACtB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,eAAe,EAAE,CAAA;QAC/C,CAAC;QACD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QACnB,OAAO,IAAI,CAAC,aAAa,CAAA;IAC7B,CAAC;CACJ"}
1
+ {"version":3,"file":"GGWebSocketSchema.js","sourceRoot":"","sources":["../../../src/schema/GGWebSocketSchema.ts"],"names":[],"mappings":"AAGA;;;;;;;;;GASG;AACH,MAAM,OAAO,iBAAiB;IAQV,IAAI,CAAQ;IACZ,IAAI,CAAQ;IACZ,WAAW,CAAkC;IAC7C,cAAc,CAAsB;IACnC,eAAe,CAAkC;IAC1D,aAAa,GAAsC,IAAI,CAAA;IAE/D,YACI,IAAY,EACZ,IAAY,EACZ,eAAiD,EACjD,cAAgD,EAAE,EAClD,cAAoC;QAEpC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;QAC9B,IAAI,CAAC,cAAc,GAAG,cAAc,CAAA;QACpC,IAAI,CAAC,eAAe,GAAG,eAAe,CAAA;QACtC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IACnC,CAAC;IAED,IAAI,QAAQ;QACR,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACtB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,eAAe,EAAE,CAAA;QAC/C,CAAC;QACD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QACnB,OAAO,IAAI,CAAC,aAAa,CAAA;IAC7B,CAAC;CACJ"}
@@ -1,6 +1,6 @@
1
1
  import { GGWebSocketSchema } from "./GGWebSocketSchema";
2
2
  import { GGWebSocketMiddleware } from "./GGWebSocketMiddleware";
3
- import { GGContractClient, GGContractImplementation, GGContractMethod } from "@grest-ts/schema";
3
+ import { GGContractClient, GGContractImplementation, GGContractMethod, GGValidator } from "@grest-ts/schema";
4
4
  /**
5
5
  * Bidirectional websocket contract methods
6
6
  */
@@ -37,16 +37,22 @@ export declare function defineSocketContract<TDef extends GGSocketContractMethod
37
37
  * .use(AuthMiddleware)
38
38
  * .done()
39
39
  */
40
- export declare function webSocketSchema<TDef extends GGSocketContractMethods>(contract: GGSocketContract<TDef>): GGWebSocketSchemaBuilder<GGContractClient<TDef["clientToServer"]>, GGContractClient<TDef["serverToClient"]>, undefined, undefined, GGContractImplementation<TDef["clientToServer"]>>;
41
- declare class GGWebSocketSchemaBuilder<TClientToServer, TServerToClient, TContext = undefined, TQuery = undefined, TClientToServerImpl = TClientToServer> {
40
+ export declare function webSocketSchema<TDef extends GGSocketContractMethods>(contract: GGSocketContract<TDef>): GGWebSocketSchemaBuilder<GGContractClient<TDef["clientToServer"]>, GGContractClient<TDef["serverToClient"]>, undefined, undefined, GGContractImplementation<TDef["clientToServer"]>, GGContractImplementation<TDef["serverToClient"]>>;
41
+ declare class GGWebSocketSchemaBuilder<TClientToServer, TServerToClient, TContext = undefined, TQuery = undefined, TClientToServerImpl = TClientToServer, TServerToClientImpl = TServerToClient> {
42
42
  private readonly _contract;
43
43
  private _path;
44
44
  private _middlewares;
45
+ private _queryValidator?;
45
46
  constructor(_contract: GGSocketContract);
46
47
  path(path: string): this;
47
- use<M extends GGWebSocketMiddleware>(middleware: M): GGWebSocketSchemaBuilder<TClientToServer, TServerToClient, TContext | M, TQuery, TClientToServerImpl>;
48
- queryOnConnect<TNewQuery>(): GGWebSocketSchemaBuilder<TClientToServer, TServerToClient, TContext, TNewQuery, TClientToServerImpl>;
49
- done(): GGWebSocketSchema<TClientToServer, TServerToClient, TContext, TQuery, TClientToServerImpl>;
48
+ use<M extends GGWebSocketMiddleware>(middleware: M): GGWebSocketSchemaBuilder<TClientToServer, TServerToClient, TContext | M, TQuery, TClientToServerImpl, TServerToClientImpl>;
49
+ /**
50
+ * Declare the query-parameter shape and validator for connections.
51
+ * The validator runs on the server (connections with invalid query are rejected
52
+ * before handshake) and on the client (invalid query throws before connecting).
53
+ */
54
+ queryOnConnect<TNewQuery>(validator: GGValidator<TNewQuery>): GGWebSocketSchemaBuilder<TClientToServer, TServerToClient, TContext, TNewQuery, TClientToServerImpl, TServerToClientImpl>;
55
+ done(): GGWebSocketSchema<TClientToServer, TServerToClient, TContext, TQuery, TClientToServerImpl, TServerToClientImpl>;
50
56
  }
51
57
  export {};
52
58
  //# sourceMappingURL=webSocketSchema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"webSocketSchema.d.ts","sourceRoot":"","sources":["../../../src/schema/webSocketSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iBAAiB,EAA6B,MAAM,qBAAqB,CAAC;AAClF,OAAO,EAAC,qBAAqB,EAAC,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAkB,gBAAgB,EAAE,wBAAwB,EAAE,gBAAgB,EAAC,MAAM,kBAAkB,CAAC;AAE/G;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACpC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;IAChD,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;CACnD;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB,CAAC,IAAI,SAAS,uBAAuB,GAAG,uBAAuB;IAC5F,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,IAAI,CAAA;CAChB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,SAAS,uBAAuB,EACrE,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,IAAI,GACd,gBAAgB,CAAC,IAAI,CAAC,CAExB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,eAAe,CAAC,IAAI,SAAS,uBAAuB,EAChE,QAAQ,EAAE,gBAAgB,CAAC,IAAI,CAAC,GACjC,wBAAwB,CACvB,gBAAgB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,EACxC,gBAAgB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,EACxC,SAAS,EACT,SAAS,EACT,wBAAwB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CACnD,CAEA;AAED,cAAM,wBAAwB,CAC1B,eAAe,EACf,eAAe,EACf,QAAQ,GAAG,SAAS,EACpB,MAAM,GAAG,SAAS,EAClB,mBAAmB,GAAG,eAAe;IAMjC,OAAO,CAAC,QAAQ,CAAC,SAAS;IAJ9B,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,YAAY,CAA8B;gBAG7B,SAAS,EAAE,gBAAgB;IAIhD,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAKxB,GAAG,CAAC,CAAC,SAAS,qBAAqB,EAAE,UAAU,EAAE,CAAC,GAAG,wBAAwB,CAAC,eAAe,EAAE,eAAe,EAAE,QAAQ,GAAG,CAAC,EAAE,MAAM,EAAE,mBAAmB,CAAC;IAK1J,cAAc,CAAC,SAAS,KAAK,wBAAwB,CAAC,eAAe,EAAE,eAAe,EAAE,QAAQ,EAAE,SAAS,EAAE,mBAAmB,CAAC;IAIjI,IAAI,IAAI,iBAAiB,CAAC,eAAe,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,EAAE,mBAAmB,CAAC;CAmBrG"}
1
+ {"version":3,"file":"webSocketSchema.d.ts","sourceRoot":"","sources":["../../../src/schema/webSocketSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iBAAiB,EAA6B,MAAM,qBAAqB,CAAC;AAClF,OAAO,EAAC,qBAAqB,EAAC,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAkB,gBAAgB,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,WAAW,EAAC,MAAM,kBAAkB,CAAC;AAE5H;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACpC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;IAChD,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;CACnD;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB,CAAC,IAAI,SAAS,uBAAuB,GAAG,uBAAuB;IAC5F,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,IAAI,CAAA;CAChB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,SAAS,uBAAuB,EACrE,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,IAAI,GACd,gBAAgB,CAAC,IAAI,CAAC,CAExB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,eAAe,CAAC,IAAI,SAAS,uBAAuB,EAChE,QAAQ,EAAE,gBAAgB,CAAC,IAAI,CAAC,GACjC,wBAAwB,CACvB,gBAAgB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,EACxC,gBAAgB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,EACxC,SAAS,EACT,SAAS,EACT,wBAAwB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAChD,wBAAwB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CACnD,CAEA;AAED,cAAM,wBAAwB,CAC1B,eAAe,EACf,eAAe,EACf,QAAQ,GAAG,SAAS,EACpB,MAAM,GAAG,SAAS,EAClB,mBAAmB,GAAG,eAAe,EACrC,mBAAmB,GAAG,eAAe;IAOjC,OAAO,CAAC,QAAQ,CAAC,SAAS;IAL9B,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,YAAY,CAA8B;IAClD,OAAO,CAAC,eAAe,CAAC,CAAkB;gBAGrB,SAAS,EAAE,gBAAgB;IAIhD,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAKxB,GAAG,CAAC,CAAC,SAAS,qBAAqB,EAAE,UAAU,EAAE,CAAC,GAAG,wBAAwB,CAAC,eAAe,EAAE,eAAe,EAAE,QAAQ,GAAG,CAAC,EAAE,MAAM,EAAE,mBAAmB,EAAE,mBAAmB,CAAC;IAK/K;;;;OAIG;IACH,cAAc,CAAC,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC,SAAS,CAAC,GAAG,wBAAwB,CAAC,eAAe,EAAE,eAAe,EAAE,QAAQ,EAAE,SAAS,EAAE,mBAAmB,EAAE,mBAAmB,CAAC;IAKvL,IAAI,IAAI,iBAAiB,CAAC,eAAe,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,EAAE,mBAAmB,EAAE,mBAAmB,CAAC;CAoB1H"}
@@ -31,6 +31,7 @@ class GGWebSocketSchemaBuilder {
31
31
  _contract;
32
32
  _path = "";
33
33
  _middlewares = [];
34
+ _queryValidator;
34
35
  constructor(_contract) {
35
36
  this._contract = _contract;
36
37
  }
@@ -42,7 +43,13 @@ class GGWebSocketSchemaBuilder {
42
43
  this._middlewares.push(middleware);
43
44
  return this;
44
45
  }
45
- queryOnConnect() {
46
+ /**
47
+ * Declare the query-parameter shape and validator for connections.
48
+ * The validator runs on the server (connections with invalid query are rejected
49
+ * before handshake) and on the client (invalid query throws before connecting).
50
+ */
51
+ queryOnConnect(validator) {
52
+ this._queryValidator = validator;
46
53
  return this;
47
54
  }
48
55
  done() {
@@ -56,7 +63,7 @@ class GGWebSocketSchemaBuilder {
56
63
  serverToClient: new GGContractClass(name + ".serverToClient", methods.serverToClient)
57
64
  };
58
65
  };
59
- return new GGWebSocketSchema(contract.name, this._path, contractFactory, this._middlewares);
66
+ return new GGWebSocketSchema(contract.name, this._path, contractFactory, this._middlewares, this._queryValidator);
60
67
  }
61
68
  }
62
69
  //# sourceMappingURL=webSocketSchema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"webSocketSchema.js","sourceRoot":"","sources":["../../../src/schema/webSocketSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iBAAiB,EAA6B,MAAM,qBAAqB,CAAC;AAElF,OAAO,EAAC,eAAe,EAA+D,MAAM,kBAAkB,CAAC;AAkB/G;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAChC,IAAY,EACZ,OAAa;IAEb,OAAO,EAAC,IAAI,EAAE,OAAO,EAAC,CAAA;AAC1B,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,eAAe,CAC3B,QAAgC;IAQhC,OAAO,IAAI,wBAAwB,CAAC,QAAQ,CAAC,CAAA;AACjD,CAAC;AAED,MAAM,wBAAwB;IAWL;IAJb,KAAK,GAAW,EAAE,CAAA;IAClB,YAAY,GAA4B,EAAE,CAAA;IAElD,YACqB,SAA2B;QAA3B,cAAS,GAAT,SAAS,CAAkB;IAEhD,CAAC;IAED,IAAI,CAAC,IAAY;QACb,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;QACjB,OAAO,IAAI,CAAA;IACf,CAAC;IAED,GAAG,CAAkC,UAAa;QAC9C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QAClC,OAAO,IAAW,CAAA;IACtB,CAAC;IAED,cAAc;QACV,OAAO,IAAW,CAAA;IACtB,CAAC;IAED,IAAI;QACA,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,MAAM,eAAe,GAAG,GAA+B,EAAE;YACrD,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;YACjC,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;YAC3B,OAAO;gBACH,OAAO,EAAE,IAAI;gBACb,cAAc,EAAE,IAAI,eAAe,CAAC,IAAI,GAAG,iBAAiB,EAAE,OAAO,CAAC,cAAc,CAAC;gBACrF,cAAc,EAAE,IAAI,eAAe,CAAC,IAAI,GAAG,iBAAiB,EAAE,OAAO,CAAC,cAAc,CAAC;aACxF,CAAC;QACN,CAAC,CAAC;QAEF,OAAO,IAAI,iBAAiB,CACxB,QAAQ,CAAC,IAAI,EACb,IAAI,CAAC,KAAK,EACV,eAAe,EACf,IAAI,CAAC,YAAY,CACpB,CAAA;IACL,CAAC;CACJ"}
1
+ {"version":3,"file":"webSocketSchema.js","sourceRoot":"","sources":["../../../src/schema/webSocketSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iBAAiB,EAA6B,MAAM,qBAAqB,CAAC;AAElF,OAAO,EAAC,eAAe,EAA4E,MAAM,kBAAkB,CAAC;AAkB5H;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAChC,IAAY,EACZ,OAAa;IAEb,OAAO,EAAC,IAAI,EAAE,OAAO,EAAC,CAAA;AAC1B,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,eAAe,CAC3B,QAAgC;IAShC,OAAO,IAAI,wBAAwB,CAAC,QAAQ,CAAC,CAAA;AACjD,CAAC;AAED,MAAM,wBAAwB;IAaL;IALb,KAAK,GAAW,EAAE,CAAA;IAClB,YAAY,GAA4B,EAAE,CAAA;IAC1C,eAAe,CAAmB;IAE1C,YACqB,SAA2B;QAA3B,cAAS,GAAT,SAAS,CAAkB;IAEhD,CAAC;IAED,IAAI,CAAC,IAAY;QACb,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;QACjB,OAAO,IAAI,CAAA;IACf,CAAC;IAED,GAAG,CAAkC,UAAa;QAC9C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QAClC,OAAO,IAAW,CAAA;IACtB,CAAC;IAED;;;;OAIG;IACH,cAAc,CAAY,SAAiC;QACvD,IAAI,CAAC,eAAe,GAAG,SAAS,CAAA;QAChC,OAAO,IAAW,CAAA;IACtB,CAAC;IAED,IAAI;QACA,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,MAAM,eAAe,GAAG,GAA+B,EAAE;YACrD,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;YACjC,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;YAC3B,OAAO;gBACH,OAAO,EAAE,IAAI;gBACb,cAAc,EAAE,IAAI,eAAe,CAAC,IAAI,GAAG,iBAAiB,EAAE,OAAO,CAAC,cAAc,CAAC;gBACrF,cAAc,EAAE,IAAI,eAAe,CAAC,IAAI,GAAG,iBAAiB,EAAE,OAAO,CAAC,cAAc,CAAC;aACxF,CAAC;QACN,CAAC,CAAC;QAEF,OAAO,IAAI,iBAAiB,CACxB,QAAQ,CAAC,IAAI,EACb,IAAI,CAAC,KAAK,EACV,eAAe,EACf,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,eAAe,CACvB,CAAA;IACL,CAAC;CACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"GGSocketServer.d.ts","sourceRoot":"","sources":["../../../src/server/GGSocketServer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAQ,WAAW,EAAC,MAAM,kBAAkB,CAAC;AASpD,OAAO,EAAC,QAAQ,EAAkC,MAAM,oBAAoB,CAAC;AAM7E,OAAO,EAA8B,qBAAqB,EAAC,MAAM,iCAAiC,CAAC;AACnG,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAE5C,MAAM,WAAW,oBAAoB,CAAC,QAAQ,EAAE,KAAK;IACjD,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;IACpC,WAAW,EAAE,SAAS,qBAAqB,EAAE,CAAC;CACjD;AAED,qBAAa,cAAc,CAAC,QAAQ,EAAE,KAAK;IAEvC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAkB;IACtC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAe;IACpC,SAAgB,IAAI,EAAE,MAAM,CAAC;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAmC;IAC/D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAqB;IAEpD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA4B;IAC1D,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAuD;IAG5F,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAiB;gBAE3B,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,oBAAoB,CAAC,QAAQ,EAAE,KAAK,CAAC;IAiCtE,YAAY,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI;IAI5E,OAAO,CAAC,aAAa,CAiFpB;IAED,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,aAAa;IAkBrB;;;OAGG;YACW,eAAe;CAiDhC"}
1
+ {"version":3,"file":"GGSocketServer.d.ts","sourceRoot":"","sources":["../../../src/server/GGSocketServer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAQ,WAAW,EAAC,MAAM,kBAAkB,CAAC;AASpD,OAAO,EAAC,QAAQ,EAAkC,MAAM,oBAAoB,CAAC;AAM7E,OAAO,EAA8B,qBAAqB,EAAC,MAAM,iCAAiC,CAAC;AACnG,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAE5C,MAAM,WAAW,oBAAoB,CAAC,QAAQ,EAAE,KAAK;IACjD,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;IACpC,WAAW,EAAE,SAAS,qBAAqB,EAAE,CAAC;CACjD;AAiDD,qBAAa,cAAc,CAAC,QAAQ,EAAE,KAAK;IAEvC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAkB;IACtC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAe;IACpC,SAAgB,IAAI,EAAE,MAAM,CAAC;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAmC;IAC/D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAqB;IAEpD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA4B;IAC1D,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAuD;IAG5F,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAiB;gBAE3B,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,oBAAoB,CAAC,QAAQ,EAAE,KAAK,CAAC;IAmCtE,YAAY,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI;IAI5E,OAAO,CAAC,aAAa,CAiFpB;IAED,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,aAAa;IAkBrB;;;OAGG;YACW,eAAe;CAiDhC"}
@@ -17,6 +17,38 @@ import { GG_METRICS } from "@grest-ts/metrics";
17
17
  import { withTimeout } from "@grest-ts/common";
18
18
  import { GGContext } from "@grest-ts/context";
19
19
  import { GG_DISCOVERY } from "@grest-ts/discovery";
20
+ const wsRegistryByHttpServer = new WeakMap();
21
+ function attachUpgradeDispatch(httpServer, path, wss) {
22
+ let registry = wsRegistryByHttpServer.get(httpServer);
23
+ if (!registry) {
24
+ registry = { wssByPath: new Map() };
25
+ wsRegistryByHttpServer.set(httpServer, registry);
26
+ const captured = registry;
27
+ httpServer.on('upgrade', (req, socket, head) => {
28
+ const pathname = (req.url ?? '').split('?')[0];
29
+ const matched = captured.wssByPath.get(pathname);
30
+ if (matched) {
31
+ matched.handleUpgrade(req, socket, head, (ws) => {
32
+ matched.emit('connection', ws, req);
33
+ });
34
+ }
35
+ else {
36
+ socket.write('HTTP/1.1 404 Not Found\r\nConnection: close\r\n\r\n');
37
+ socket.destroy();
38
+ }
39
+ });
40
+ }
41
+ if (registry.wssByPath.has(path)) {
42
+ throw new Error(`WebSocket path "${path}" is already registered on this HTTP server.`);
43
+ }
44
+ registry.wssByPath.set(path, wss);
45
+ }
46
+ function detachUpgradeDispatch(httpServer, path) {
47
+ const registry = wsRegistryByHttpServer.get(httpServer);
48
+ if (registry) {
49
+ registry.wssByPath.delete(path);
50
+ }
51
+ }
20
52
  export class GGSocketServer {
21
53
  wss;
22
54
  http;
@@ -34,8 +66,9 @@ export class GGSocketServer {
34
66
  this.apiName = config.apiName;
35
67
  this.middlewares = config.middlewares;
36
68
  this.queryValidator = config.queryValidator;
37
- this.wss = new WebSocketServer({ server: http.httpServer, path: this.path });
69
+ this.wss = new WebSocketServer({ noServer: true });
38
70
  this.wss.on('connection', this.scope.wrapWithEnter(this._onConnection));
71
+ attachUpgradeDispatch(http.httpServer, this.path, this.wss);
39
72
  this.http = http
40
73
  .onStart(() => {
41
74
  GGLog.info(this, "WebSocket server started", { api: config.apiName, path: config.path });
@@ -52,7 +85,8 @@ export class GGSocketServer {
52
85
  .onTeardown(async () => {
53
86
  GGLog.info(this, "WebSocket server closing");
54
87
  try {
55
- this.wss.close(); // We use external http, so this does not close existing connections.
88
+ detachUpgradeDispatch(http.httpServer, this.path);
89
+ this.wss.close();
56
90
  }
57
91
  catch (error) {
58
92
  GGLog.error(this, error);
@@ -1 +1 @@
1
- {"version":3,"file":"GGSocketServer.js","sourceRoot":"","sources":["../../../src/server/GGSocketServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GGSocketServer.js","sourceRoot":"","sources":["../../../src/server/GGSocketServer.ts"],"names":[],"mappings":"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"}
@@ -18,16 +18,18 @@ export interface WebSocketSchemaConfig {
18
18
  middlewares?: GGWebSocketMiddleware[];
19
19
  }
20
20
  declare module "../schema/GGWebSocketSchema" {
21
- interface GGWebSocketSchema<TClientToServer, TServerToClient, TContext = {}, TQuery = undefined, TClientToServerImpl = TClientToServer> {
21
+ interface GGWebSocketSchema<TClientToServer, TServerToClient, TContext = {}, TQuery = undefined, TClientToServerImpl = TClientToServer, TServerToClientImpl = TServerToClient> {
22
22
  /**
23
23
  * Start the WebSocket server for this API.
24
+ * The onConnection handler receives validated query parameters as its 3rd argument
25
+ * (only populated when the schema declares `queryOnConnect(validator)`).
24
26
  */
25
- startServer(onConnection: (incoming: WebSocketIncoming<TClientToServerImpl>, outgoing: WebSocketOutgoing<TServerToClient>) => void, config: WebSocketSchemaConfig): GGSocketServer<TContext, TQuery>;
27
+ startServer(onConnection: (incoming: WebSocketIncoming<TClientToServerImpl>, outgoing: WebSocketOutgoing<TServerToClient>, query: TQuery) => void, config: WebSocketSchemaConfig): GGSocketServer<TContext, TQuery>;
26
28
  /**
27
29
  * Register this WebSocket API with the default HTTP server.
28
30
  * Uses GGHttpServerAdapter from locator if not explicitly provided.
29
31
  */
30
- register(onConnection: (incoming: WebSocketIncoming<TClientToServerImpl>, outgoing: WebSocketOutgoing<TServerToClient>) => void, config?: WebSocketSchemaConfig): void;
32
+ register(onConnection: (incoming: WebSocketIncoming<TClientToServerImpl>, outgoing: WebSocketOutgoing<TServerToClient>, query: TQuery) => void, config?: WebSocketSchemaConfig): void;
31
33
  }
32
34
  }
33
35
  //# sourceMappingURL=GGWebSocketSchema.startServer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GGWebSocketSchema.startServer.d.ts","sourceRoot":"","sources":["../../../src/server/GGWebSocketSchema.startServer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAC,qBAAqB,EAAC,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAEhD,OAAO,EAAC,iBAAiB,EAAE,iBAAiB,EAAC,MAAM,0BAA0B,CAAC;AAC9E,OAAO,EAAiB,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAE5D,MAAM,WAAW,qBAAqB;IAClC;;;OAGG;IACH,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB;;OAEG;IACH,WAAW,CAAC,EAAE,qBAAqB,EAAE,CAAC;CACzC;AAED,OAAO,QAAQ,6BAA6B,CAAC;IACzC,UAAU,iBAAiB,CAAC,eAAe,EAAE,eAAe,EAAE,QAAQ,GAAG,EAAE,EAAE,MAAM,GAAG,SAAS,EAAE,mBAAmB,GAAG,eAAe;QAClI;;WAEG;QACH,WAAW,CACP,YAAY,EAAE,CAAC,QAAQ,EAAE,iBAAiB,CAAC,mBAAmB,CAAC,EAAE,QAAQ,EAAE,iBAAiB,CAAC,eAAe,CAAC,KAAK,IAAI,EACtH,MAAM,EAAE,qBAAqB,GAC9B,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;QAEnC;;;WAGG;QACH,QAAQ,CACJ,YAAY,EAAE,CAAC,QAAQ,EAAE,iBAAiB,CAAC,mBAAmB,CAAC,EAAE,QAAQ,EAAE,iBAAiB,CAAC,eAAe,CAAC,KAAK,IAAI,EACtH,MAAM,CAAC,EAAE,qBAAqB,GAC/B,IAAI,CAAA;KACV;CACJ"}
1
+ {"version":3,"file":"GGWebSocketSchema.startServer.d.ts","sourceRoot":"","sources":["../../../src/server/GGWebSocketSchema.startServer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAC,qBAAqB,EAAC,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAEhD,OAAO,EAAC,iBAAiB,EAAE,iBAAiB,EAAC,MAAM,0BAA0B,CAAC;AAC9E,OAAO,EAAiB,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAE5D,MAAM,WAAW,qBAAqB;IAClC;;;OAGG;IACH,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB;;OAEG;IACH,WAAW,CAAC,EAAE,qBAAqB,EAAE,CAAC;CACzC;AAED,OAAO,QAAQ,6BAA6B,CAAC;IACzC,UAAU,iBAAiB,CAAC,eAAe,EAAE,eAAe,EAAE,QAAQ,GAAG,EAAE,EAAE,MAAM,GAAG,SAAS,EAAE,mBAAmB,GAAG,eAAe,EAAE,mBAAmB,GAAG,eAAe;QACzK;;;;WAIG;QACH,WAAW,CACP,YAAY,EAAE,CAAC,QAAQ,EAAE,iBAAiB,CAAC,mBAAmB,CAAC,EAAE,QAAQ,EAAE,iBAAiB,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,EACrI,MAAM,EAAE,qBAAqB,GAC9B,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;QAEnC;;;WAGG;QACH,QAAQ,CACJ,YAAY,EAAE,CAAC,QAAQ,EAAE,iBAAiB,CAAC,mBAAmB,CAAC,EAAE,QAAQ,EAAE,iBAAiB,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,EACrI,MAAM,CAAC,EAAE,qBAAqB,GAC/B,IAAI,CAAA;KACV;CACJ"}
@@ -14,13 +14,15 @@ GGWebSocketSchema.prototype.startServer = function (onConnection, config) {
14
14
  const normalizedPath = this.path.startsWith('/') ? this.path : '/' + this.path;
15
15
  const schemaName = this.name;
16
16
  const http = config.http ?? GGLocator.getScope().get(GG_HTTP_SERVER);
17
+ http._registerWebSocketSchema(this);
17
18
  // @TODO We might want some lookup here based on path/middlewares etc. If I use same socket for multiple paths, we need to reuse also same GGSocketServer.
18
19
  const socketServer = new GGSocketServer(http, {
19
20
  apiName: schemaName,
20
21
  path: normalizedPath,
21
- middlewares: [...this.middlewares, ...(config?.middlewares ?? [])]
22
+ middlewares: [...this.middlewares, ...(config?.middlewares ?? [])],
23
+ queryValidator: this.queryValidator,
22
24
  });
23
- socketServer.onConnection((socket) => {
25
+ socketServer.onConnection((socket, queryArgs) => {
24
26
  const clientToServerContract = contract.clientToServer;
25
27
  const serverToClientContract = contract.serverToClient;
26
28
  const incoming = {
@@ -39,7 +41,7 @@ GGWebSocketSchema.prototype.startServer = function (onConnection, config) {
39
41
  return handlers[methodName](data);
40
42
  };
41
43
  }
42
- const incomingInstance = clientToServerContract.implement(impl);
44
+ const incomingInstance = clientToServerContract.implement(impl, { skipLocatorRegistration: true });
43
45
  for (const methodName of Object.keys(clientToServerContract.methods)) {
44
46
  socket.registerHandler({
45
47
  path: `${schemaName}.${methodName}`,
@@ -56,11 +58,11 @@ GGWebSocketSchema.prototype.startServer = function (onConnection, config) {
56
58
  return socket.send(`${schemaName}.${methodName}`, data, expectsResponse);
57
59
  };
58
60
  }
59
- const outgoingInstance = serverToClientContract.implement(impl);
61
+ const outgoingInstance = serverToClientContract.implement(impl, { skipLocatorRegistration: true });
60
62
  outgoingInstance.onClose = (callback) => {
61
63
  socket.onClose(callback);
62
64
  };
63
- onConnection(incoming, outgoingInstance);
65
+ onConnection(incoming, outgoingInstance, queryArgs);
64
66
  });
65
67
  return socketServer;
66
68
  };
@@ -1 +1 @@
1
- {"version":3,"file":"GGWebSocketSchema.startServer.js","sourceRoot":"","sources":["../../../src/server/GGWebSocketSchema.startServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GGWebSocketSchema.startServer.js","sourceRoot":"","sources":["../../../src/server/GGWebSocketSchema.startServer.ts"],"names":[],"mappings":"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"}
@@ -72,8 +72,9 @@ export declare class GGSocket {
72
72
  * @param path - The message path/route
73
73
  * @param body - The message data (already validated)
74
74
  * @param expectsResponse - Whether to wait for a response
75
+ * @param timeoutMs - Timeout for req/res in ms. Ignored for fire-and-forget. Defaults to 30_000.
75
76
  */
76
- send(path: string, body: any, expectsResponse: boolean): Promise<any>;
77
+ send(path: string, body: any, expectsResponse: boolean, timeoutMs?: number): Promise<any>;
77
78
  private recordInMetric;
78
79
  private recordOutMetric;
79
80
  registerHandler(config: SocketHandlerConfig): void;
@@ -82,6 +83,17 @@ export declare class GGSocket {
82
83
  onError(onError: (error: Error) => void): this;
83
84
  onTearDown(onClosing: () => Promise<void>): this;
84
85
  onClose(onClose: () => void): this;
86
+ /**
87
+ * Start a heartbeat loop that sends protocol-level PINGs and closes the socket
88
+ * if no PONG comes back within `intervalMs + timeoutMs`. Returns a stop function.
89
+ *
90
+ * No-op (returns an empty stop fn) if the underlying adapter does not support
91
+ * ping/pong — e.g. the browser WebSocket API cannot initiate pings.
92
+ */
93
+ startHeartbeat(config: {
94
+ intervalMs: number;
95
+ timeoutMs: number;
96
+ }): () => void;
85
97
  /**
86
98
  * Get the number of pending outgoing requests
87
99
  */
@@ -1 +1 @@
1
- {"version":3,"file":"GGSocket.d.ts","sourceRoot":"","sources":["../../../src/socket/GGSocket.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GGSocket.d.ts","sourceRoot":"","sources":["../../../src/socket/GGSocket.ts"],"names":[],"mappings":"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"}
@@ -162,8 +162,9 @@ export class GGSocket {
162
162
  * @param path - The message path/route
163
163
  * @param body - The message data (already validated)
164
164
  * @param expectsResponse - Whether to wait for a response
165
+ * @param timeoutMs - Timeout for req/res in ms. Ignored for fire-and-forget. Defaults to 30_000.
165
166
  */
166
- async send(path, body, expectsResponse) {
167
+ async send(path, body, expectsResponse, timeoutMs = 30000) {
167
168
  const labels = { api: this.apiName, path: this.socketPath, method: path };
168
169
  const startTime = performance.now();
169
170
  if (!this.isActive) {
@@ -171,7 +172,7 @@ export class GGSocket {
171
172
  throw new Error('Cannot send: WebSocket is not connected');
172
173
  }
173
174
  if (expectsResponse) {
174
- return this.pendingRequests.create(path, 30000, async (id, waitForResponse) => {
175
+ return this.pendingRequests.create(path, timeoutMs, async (id, waitForResponse) => {
175
176
  this.socket.send(Message.create(MessageType.REQ, path, id, body));
176
177
  const result = await waitForResponse;
177
178
  const resultType = result?.success === true ? 'OK' : (result?.type ?? 'SERVER_ERROR');
@@ -221,6 +222,55 @@ export class GGSocket {
221
222
  return this;
222
223
  }
223
224
  // --------------------------------------------------------------------------------------
225
+ // Heartbeat (PING/PONG) — dead-connection detection
226
+ // --------------------------------------------------------------------------------------
227
+ /**
228
+ * Start a heartbeat loop that sends protocol-level PINGs and closes the socket
229
+ * if no PONG comes back within `intervalMs + timeoutMs`. Returns a stop function.
230
+ *
231
+ * No-op (returns an empty stop fn) if the underlying adapter does not support
232
+ * ping/pong — e.g. the browser WebSocket API cannot initiate pings.
233
+ */
234
+ startHeartbeat(config) {
235
+ // Adapter doesn't support ping/pong (e.g. browser WebSocket) — no-op.
236
+ if (!this.socket.ping || !this.socket.onPong) {
237
+ return () => { };
238
+ }
239
+ // Socket is already closed — starting heartbeat would leak intervals
240
+ // because the onCloseCallbacks push below won't fire (isCleanedUp guard).
241
+ if (!this.isActive) {
242
+ return () => { };
243
+ }
244
+ let lastActivity = Date.now();
245
+ const onPong = () => { lastActivity = Date.now(); };
246
+ this.socket.onPong(onPong);
247
+ const sender = setInterval(() => {
248
+ if (!this.isActive)
249
+ return;
250
+ try {
251
+ this.socket.ping();
252
+ }
253
+ catch (_) { /* adapter may throw if socket already closing */ }
254
+ }, config.intervalMs);
255
+ const watchdog = setInterval(() => {
256
+ if (!this.isActive)
257
+ return;
258
+ if (Date.now() - lastActivity > config.intervalMs + config.timeoutMs) {
259
+ this.log.warn(this, 'Heartbeat timeout — no PONG received; closing socket');
260
+ clearInterval(sender);
261
+ clearInterval(watchdog);
262
+ this.close();
263
+ }
264
+ }, config.timeoutMs);
265
+ // Auto-cleanup on close
266
+ const cleanup = () => {
267
+ clearInterval(sender);
268
+ clearInterval(watchdog);
269
+ };
270
+ this.onCloseCallbacks.push(cleanup);
271
+ return cleanup;
272
+ }
273
+ // --------------------------------------------------------------------------------------
224
274
  // Teardown
225
275
  // --------------------------------------------------------------------------------------
226
276
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"GGSocket.js","sourceRoot":"","sources":["../../../src/socket/GGSocket.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GGSocket.js","sourceRoot":"","sources":["../../../src/socket/GGSocket.ts"],"names":[],"mappings":"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"}
@@ -9,5 +9,16 @@ export interface SocketAdapter {
9
9
  offMessage(handler: (data: string) => void): void;
10
10
  offClose(handler: () => void): void;
11
11
  offError(handler: (error: Error) => void): void;
12
+ /**
13
+ * Send a protocol-level PING frame. The peer auto-responds with a PONG.
14
+ * Optional: browsers cannot initiate pings (the native WebSocket API does not expose it).
15
+ * Node can; use this for dead-connection detection.
16
+ */
17
+ ping?(): void;
18
+ /**
19
+ * Register a handler for PONG frames received from the peer.
20
+ * Paired with `ping()` — only supported by adapters that also support ping.
21
+ */
22
+ onPong?(handler: () => void): void;
12
23
  }
13
24
  //# sourceMappingURL=SocketAdapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SocketAdapter.d.ts","sourceRoot":"","sources":["../../../src/socket/SocketAdapter.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC1B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAE5B,KAAK,IAAI,IAAI,CAAC;IAEd,MAAM,CAAC,OAAO,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IAElC,SAAS,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;IAEjD,OAAO,CAAC,OAAO,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IAEnC,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAC;IAE/C,OAAO,CAAC,OAAO,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IAEnC,UAAU,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;IAElD,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IAEpC,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAC;CACnD"}
1
+ {"version":3,"file":"SocketAdapter.d.ts","sourceRoot":"","sources":["../../../src/socket/SocketAdapter.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC1B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAE5B,KAAK,IAAI,IAAI,CAAC;IAEd,MAAM,CAAC,OAAO,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IAElC,SAAS,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;IAEjD,OAAO,CAAC,OAAO,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IAEnC,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAC;IAE/C,OAAO,CAAC,OAAO,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IAEnC,UAAU,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;IAElD,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IAEpC,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAC;IAEhD;;;;OAIG;IACH,IAAI,CAAC,IAAI,IAAI,CAAC;IAEd;;;OAGG;IACH,MAAM,CAAC,CAAC,OAAO,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;CACtC"}
@@ -39,7 +39,7 @@ export type GGSocketCallMap<TClientToServer, TServerToClient> = SocketClientMeth
39
39
  mock: SocketMockMethods<TServerToClient>;
40
40
  };
41
41
  declare module "../../src/schema/GGWebSocketSchema" {
42
- interface GGWebSocketSchema<TClientToServer, TServerToClient, TContext, TQuery, TClientToServerImpl> extends GGCallOnFactory {
42
+ interface GGWebSocketSchema<TClientToServer, TServerToClient, TContext, TQuery, TClientToServerImpl, TServerToClientImpl> extends GGCallOnFactory {
43
43
  [CALL_ON_FACTORY](ctx: GGContext): GGSocketCallMap<TClientToServer, TServerToClient>;
44
44
  }
45
45
  }
@@ -1 +1 @@
1
- {"version":3,"file":"GGWebSocketSchema.callOn.d.ts","sourceRoot":"","sources":["../../../testkit/client/GGWebSocketSchema.callOn.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GGWebSocketSchema.callOn.d.ts","sourceRoot":"","sources":["../../../testkit/client/GGWebSocketSchema.callOn.ts"],"names":[],"mappings":"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"}