@zyno-io/dk-server-foundation 26.216.430 → 26.216.907

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.
@@ -15,6 +15,8 @@ export declare class BaseAppConfig {
15
15
  PG_PASSWORD_SECRET?: string;
16
16
  PG_DATABASE?: string;
17
17
  PG_SCHEMA?: string;
18
+ PG_SSL?: boolean;
19
+ PG_SSL_REJECT_UNAUTHORIZED?: boolean;
18
20
  PG_CONNECTION_LIMIT?: number;
19
21
  PG_IDLE_TIMEOUT_SECONDS?: number;
20
22
  AUTH_JWT_ISSUER?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/app/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/app/config.ts"],"names":[],"mappings":"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"}
@@ -19,7 +19,7 @@ class BaseAppConfig {
19
19
  }
20
20
  }
21
21
  exports.BaseAppConfig = BaseAppConfig;
22
- BaseAppConfig.__type = ['APP_ENV', 'PORT', 'MYSQL_HOST', 'MYSQL_PORT', 'MYSQL_USER', 'MYSQL_PASSWORD_SECRET', 'MYSQL_DATABASE', 'MYSQL_CONNECTION_LIMIT', 'MYSQL_MIN_IDLE_CONNECTIONS', 'MYSQL_IDLE_TIMEOUT_SECONDS', 'PG_HOST', 'PG_PORT', 'PG_USER', 'PG_PASSWORD_SECRET', 'PG_DATABASE', 'PG_SCHEMA', 'PG_CONNECTION_LIMIT', 'PG_IDLE_TIMEOUT_SECONDS', 'AUTH_JWT_ISSUER', 'AUTH_JWT_EXPIRATION_MINS', 'AUTH_JWT_COOKIE_NAME', 'AUTH_JWT_SECRET', 'AUTH_JWT_SECRET_B64', 'AUTH_JWT_ED_SECRET', 'AUTH_JWT_ENABLE_VERIFY', function () { return true; }, 'AUTH_BASIC_SECRET', 'CRYPTO_SECRET', 'CRYPTO_IV_LENGTH', function () { return 12; }, 'USE_REAL_IP_HEADER', 'MAIL_POSTMARK_SECRET', 'REDIS_SENTINEL_HOST', 'REDIS_SENTINEL_PORT', 'REDIS_SENTINEL_NAME', 'REDIS_HOST', 'REDIS_PORT', 'REDIS_PREFIX', 'CACHE_REDIS_SENTINEL_HOST', 'CACHE_REDIS_SENTINEL_PORT', 'CACHE_REDIS_SENTINEL_NAME', 'CACHE_REDIS_HOST', 'CACHE_REDIS_PORT', 'CACHE_REDIS_PREFIX', 'BROADCAST_REDIS_SENTINEL_HOST', 'BROADCAST_REDIS_SENTINEL_PORT', 'BROADCAST_REDIS_SENTINEL_NAME', 'BROADCAST_REDIS_HOST', 'BROADCAST_REDIS_PORT', 'BROADCAST_REDIS_PREFIX', 'BULL_REDIS_SENTINEL_HOST', 'BULL_REDIS_SENTINEL_PORT', 'BULL_REDIS_SENTINEL_NAME', 'BULL_REDIS_HOST', 'BULL_REDIS_PORT', 'BULL_REDIS_PREFIX', 'BULL_QUEUE', function () { return 'default'; }, 'MESH_REDIS_SENTINEL_HOST', 'MESH_REDIS_SENTINEL_PORT', 'MESH_REDIS_SENTINEL_NAME', 'MESH_REDIS_HOST', 'MESH_REDIS_PORT', 'MESH_REDIS_PREFIX', "local", "redis", 'MUTEX_MODE', function () { return 'local'; }, 'MUTEX_REDIS_SENTINEL_HOST', 'MUTEX_REDIS_SENTINEL_PORT', 'MUTEX_REDIS_SENTINEL_NAME', 'MUTEX_REDIS_HOST', 'MUTEX_REDIS_PORT', 'MUTEX_REDIS_PREFIX', 'ENABLE_OPENAPI_SCHEMA', 'ENABLE_JOB_RUNNER', 'SENTRY_DSN', 'OTEL_EXPORTER_OTLP_ENDPOINT', 'ALERTS_SLACK_WEBHOOK_URL', 'SRPC_AUTH_SECRET', 'SRPC_AUTH_CLOCK_DRIFT_MS', function () { return 30_000; }, "none", "e2e", "finish", "errors", 'HTTP_REQUEST_LOGGING_MODE', function () { return 'e2e'; }, 'HEALTHZ_ENABLE_REQUEST_LOGGING', function () { return false; }, 'MAIL_FROM', 'MAIL_FROM_NAME', "smtp", "postmark", 'MAIL_PROVIDER', function () { return 'smtp'; }, 'SMTP_HOST', function () { return '127.0.0.1'; }, 'SMTP_PORT', function () { return 1025; }, 'SMTP_USER', 'SMTP_PASSWORD_SECRET', 'SMTP_TLS', function () { return false; }, 'POSTMARK_SECRET', 'BaseAppConfig', '&3!\'3"8&3#8\'3$8&3%8&3&8&3\'8\'3(8\'3)8\'3*8&3+8\'3,8&3-8&3.8&3/8&308\'318\'328&338\'348&358&368&378&388)39>:&3;8&3<8\'3=>>)3?8&3@8&3A8\'3B8&3C8&3D8\'3E8&3F8&3G8\'3H8&3I8&3J8\'3K8&3L8&3M8\'3N8&3O8&3P8\'3Q8&3R8&3S8\'3T8&3U8&3V8\'3W8&3X8&3Y>Z&3[8\'3\\8&3]8&3^8\'3_8&3`8P.a.bJ3c>d&3e8\'3f8&3g8&3h8\'3i8&3j8)3k8)3l8&3m8&3n8&3o8&3p8\'3q>rP.s.t.u.vJ3w>x)3y>z&3{8&3|8P.}.~J3>\u0080&3\u0081>\u0082\'3\u0083>\u0084&3\u00858&3\u00868)3\u0087>\u0088&3\u008985w\u008A'];
22
+ BaseAppConfig.__type = ['APP_ENV', 'PORT', 'MYSQL_HOST', 'MYSQL_PORT', 'MYSQL_USER', 'MYSQL_PASSWORD_SECRET', 'MYSQL_DATABASE', 'MYSQL_CONNECTION_LIMIT', 'MYSQL_MIN_IDLE_CONNECTIONS', 'MYSQL_IDLE_TIMEOUT_SECONDS', 'PG_HOST', 'PG_PORT', 'PG_USER', 'PG_PASSWORD_SECRET', 'PG_DATABASE', 'PG_SCHEMA', 'PG_SSL', 'PG_SSL_REJECT_UNAUTHORIZED', 'PG_CONNECTION_LIMIT', 'PG_IDLE_TIMEOUT_SECONDS', 'AUTH_JWT_ISSUER', 'AUTH_JWT_EXPIRATION_MINS', 'AUTH_JWT_COOKIE_NAME', 'AUTH_JWT_SECRET', 'AUTH_JWT_SECRET_B64', 'AUTH_JWT_ED_SECRET', 'AUTH_JWT_ENABLE_VERIFY', function () { return true; }, 'AUTH_BASIC_SECRET', 'CRYPTO_SECRET', 'CRYPTO_IV_LENGTH', function () { return 12; }, 'USE_REAL_IP_HEADER', 'MAIL_POSTMARK_SECRET', 'REDIS_SENTINEL_HOST', 'REDIS_SENTINEL_PORT', 'REDIS_SENTINEL_NAME', 'REDIS_HOST', 'REDIS_PORT', 'REDIS_PREFIX', 'CACHE_REDIS_SENTINEL_HOST', 'CACHE_REDIS_SENTINEL_PORT', 'CACHE_REDIS_SENTINEL_NAME', 'CACHE_REDIS_HOST', 'CACHE_REDIS_PORT', 'CACHE_REDIS_PREFIX', 'BROADCAST_REDIS_SENTINEL_HOST', 'BROADCAST_REDIS_SENTINEL_PORT', 'BROADCAST_REDIS_SENTINEL_NAME', 'BROADCAST_REDIS_HOST', 'BROADCAST_REDIS_PORT', 'BROADCAST_REDIS_PREFIX', 'BULL_REDIS_SENTINEL_HOST', 'BULL_REDIS_SENTINEL_PORT', 'BULL_REDIS_SENTINEL_NAME', 'BULL_REDIS_HOST', 'BULL_REDIS_PORT', 'BULL_REDIS_PREFIX', 'BULL_QUEUE', function () { return 'default'; }, 'MESH_REDIS_SENTINEL_HOST', 'MESH_REDIS_SENTINEL_PORT', 'MESH_REDIS_SENTINEL_NAME', 'MESH_REDIS_HOST', 'MESH_REDIS_PORT', 'MESH_REDIS_PREFIX', "local", "redis", 'MUTEX_MODE', function () { return 'local'; }, 'MUTEX_REDIS_SENTINEL_HOST', 'MUTEX_REDIS_SENTINEL_PORT', 'MUTEX_REDIS_SENTINEL_NAME', 'MUTEX_REDIS_HOST', 'MUTEX_REDIS_PORT', 'MUTEX_REDIS_PREFIX', 'ENABLE_OPENAPI_SCHEMA', 'ENABLE_JOB_RUNNER', 'SENTRY_DSN', 'OTEL_EXPORTER_OTLP_ENDPOINT', 'ALERTS_SLACK_WEBHOOK_URL', 'SRPC_AUTH_SECRET', 'SRPC_AUTH_CLOCK_DRIFT_MS', function () { return 30_000; }, "none", "e2e", "finish", "errors", 'HTTP_REQUEST_LOGGING_MODE', function () { return 'e2e'; }, 'HEALTHZ_ENABLE_REQUEST_LOGGING', function () { return false; }, 'MAIL_FROM', 'MAIL_FROM_NAME', "smtp", "postmark", 'MAIL_PROVIDER', function () { return 'smtp'; }, 'SMTP_HOST', function () { return '127.0.0.1'; }, 'SMTP_PORT', function () { return 1025; }, 'SMTP_USER', 'SMTP_PASSWORD_SECRET', 'SMTP_TLS', function () { return false; }, 'POSTMARK_SECRET', 'BaseAppConfig', '&3!\'3"8&3#8\'3$8&3%8&3&8&3\'8\'3(8\'3)8\'3*8&3+8\'3,8&3-8&3.8&3/8&308)318)328\'338\'348&358\'368&378&388&398&3:8)3;><&3=8&3>8\'3?>@)3A8&3B8&3C8\'3D8&3E8&3F8\'3G8&3H8&3I8\'3J8&3K8&3L8\'3M8&3N8&3O8\'3P8&3Q8&3R8\'3S8&3T8&3U8\'3V8&3W8&3X8\'3Y8&3Z8&3[>\\&3]8\'3^8&3_8&3`8\'3a8&3b8P.c.dJ3e>f&3g8\'3h8&3i8&3j8\'3k8&3l8)3m8)3n8&3o8&3p8&3q8&3r8\'3s>tP.u.v.w.xJ3y>z)3{>|&3}8&3~8P..\u0080J3\u0081>\u0082&3\u0083>\u0084\'3\u0085>\u0086&3\u00878&3\u00888)3\u0089>\u008A&3\u008B85w\u008C'];
23
23
  function isDevFeatureEnabled(envVar, defaultInDev = true) {
24
24
  if (typeof envVar === 'boolean')
25
25
  return envVar;
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/app/config.ts"],"names":[],"mappings":";;;AAiHA,kDAKC;AAtHD,mCAAgD;AAEhD,MAAa,aAAa;IAA1B;QA6BI,2BAAsB,GAAY,IAAI,CAAC;QAKvC,qBAAgB,GAAW,EAAE,CAAC;QAiC9B,eAAU,GAAW,SAAS,CAAC,CAAC,mDAAmD;QASnF,eAAU,GAAsB,OAAO,CAAC;QAkBxC,6BAAwB,GAAG,MAAM,CAAC;QAElC,8BAAyB,GAAyC,KAAK,CAAC;QAExE,mCAA8B,GAAY,KAAK,CAAC;QAIhD,kBAAa,GAAwB,MAAM,CAAC;QAC5C,cAAS,GAAW,WAAW,CAAC;QAChC,cAAS,GAAW,IAAI,CAAC;QAGzB,aAAQ,GAAY,KAAK,CAAC;KAE7B;;AA7GD,sCA6GC;ihBAhFqC,IAAI,oFAKX,EAAE,wpBAiCR,SAAS,yMASE,OAAO,sVAkBZ,MAAM,0FAEiC,KAAK,4DAE7B,KAAK,8FAIV,MAAM,uCACvB,WAAW,uCACX,IAAI,2EAGJ,KAAK;AAI7B,SAAgB,mBAAmB,CAAC,MAAoC,EAAE,eAAwB,IAAI;IAClG,IAAI,OAAO,MAAM,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC;IAC/C,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IACvD,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IACrD,OAAO,qBAAa,IAAI,cAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC;AAC1D,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/app/config.ts"],"names":[],"mappings":";;;AAmHA,kDAKC;AAxHD,mCAAgD;AAEhD,MAAa,aAAa;IAA1B;QA+BI,2BAAsB,GAAY,IAAI,CAAC;QAKvC,qBAAgB,GAAW,EAAE,CAAC;QAiC9B,eAAU,GAAW,SAAS,CAAC,CAAC,mDAAmD;QASnF,eAAU,GAAsB,OAAO,CAAC;QAkBxC,6BAAwB,GAAG,MAAM,CAAC;QAElC,8BAAyB,GAAyC,KAAK,CAAC;QAExE,mCAA8B,GAAY,KAAK,CAAC;QAIhD,kBAAa,GAAwB,MAAM,CAAC;QAC5C,cAAS,GAAW,WAAW,CAAC;QAChC,cAAS,GAAW,IAAI,CAAC;QAGzB,aAAQ,GAAY,KAAK,CAAC;KAE7B;;AA/GD,sCA+GC;yjBAhFqC,IAAI,oFAKX,EAAE,wpBAiCR,SAAS,yMASE,OAAO,sVAkBZ,MAAM,0FAEiC,KAAK,4DAE7B,KAAK,8FAIV,MAAM,uCACvB,WAAW,uCACX,IAAI,2EAGJ,KAAK;AAI7B,SAAgB,mBAAmB,CAAC,MAAoC,EAAE,eAAwB,IAAI;IAClG,IAAI,OAAO,MAAM,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC;IAC/C,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IACvD,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IACrD,OAAO,qBAAa,IAAI,cAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC;AAC1D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"postgres.d.ts","sourceRoot":"","sources":["../../../src/database/postgres.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAsB,uBAAuB,IAAI,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAG/G,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAIhC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,MAAM,MAAM,uBAAuB,GAAG,eAAe,CAAC,uBAAuB,CAAC,CAAC;AAU/E,qBAAa,uBAAwB,SAAQ,2BAA2B;IACpE,uBAAuB;CAsB1B;AAED,MAAM,WAAW,8BAA+B,SAAQ,UAAU;IAC9D,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,wBAAgB,sBAAsB,CAClC,MAAM,EAAE,8BAA8B,EACtC,QAAQ,GAAE,qBAAqB,CAAC,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAM,GACzD,SAAS,CAAC,YAAY,CAAC,uBAAuB,CAAC,CAAC,CA0ClD"}
1
+ {"version":3,"file":"postgres.d.ts","sourceRoot":"","sources":["../../../src/database/postgres.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAsB,uBAAuB,IAAI,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAG/G,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAIhC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,MAAM,MAAM,uBAAuB,GAAG,eAAe,CAAC,uBAAuB,CAAC,CAAC;AAU/E,qBAAa,uBAAwB,SAAQ,2BAA2B;IACpE,uBAAuB;CAsB1B;AAED,MAAM,WAAW,8BAA+B,SAAQ,UAAU;IAC9D,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,wBAAgB,sBAAsB,CAClC,MAAM,EAAE,8BAA8B,EACtC,QAAQ,GAAE,qBAAqB,CAAC,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAM,GACzD,SAAS,CAAC,YAAY,CAAC,uBAAuB,CAAC,CAAC,CA6ClD"}
@@ -56,12 +56,14 @@ function createPostgresDatabase(config, entities = []) {
56
56
  const appConfig = (0, resolver_1.getAppConfig)();
57
57
  const isProduction = appConfig.APP_ENV === 'production';
58
58
  const { enableLocksTable, ...otherConfig } = config;
59
+ const ssl = appConfig.PG_SSL ? { rejectUnauthorized: appConfig.PG_SSL_REJECT_UNAUTHORIZED ?? true } : undefined;
59
60
  const adapter = new PostgresDatabaseAdapter({
60
61
  host: appConfig.PG_HOST,
61
62
  port: appConfig.PG_PORT,
62
63
  user: appConfig.PG_USER,
63
64
  password: appConfig.PG_PASSWORD_SECRET,
64
65
  database: appConfig.PG_DATABASE,
66
+ ssl,
65
67
  max: appConfig.PG_CONNECTION_LIMIT ?? (isProduction ? 10 : 5),
66
68
  idleTimeoutMillis: (appConfig.PG_IDLE_TIMEOUT_SECONDS ?? (isProduction ? 60 : 5)) * 1000,
67
69
  ...otherConfig
@@ -1 +1 @@
1
- {"version":3,"file":"postgres.js","sourceRoot":"","sources":["../../../src/database/postgres.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"postgres.js","sourceRoot":"","sources":["../../../src/database/postgres.ts"],"names":[],"mappings":"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"}
@@ -1,28 +1,5 @@
1
1
  import { IncomingMessage } from 'http';
2
2
  import { BaseMessage, HandlerRequestData, InvokePrefixes, ISrpcServerOptions, RequestData, ResponseData, SrpcDisconnectCause, SrpcMeta, SrpcStream, TSrpcMessageHandlerFnOrClass } from './types';
3
- /**
4
- * Monkey-patches `httpServer.emit` so that once an upgrade listener claims
5
- * a socket (by setting UpgradeClaimedSymbol), no further listeners are
6
- * invoked. This prevents consumer @AutoStart services from destroying
7
- * sockets that an SrpcServer is already handling.
8
- *
9
- * Also installs a low-priority fallback that destroys any socket not
10
- * claimed by any handler (via setImmediate, after all sync work).
11
- */
12
- export declare function installUpgradeClaimHandling(httpServer: import('http').Server): void;
13
- /**
14
- * Returns `true` if the given socket has already been claimed by an
15
- * upgrade handler (via `markUpgradeClaimed`).
16
- */
17
- export declare function isUpgradeClaimed(socket: import('net').Socket): boolean;
18
- /**
19
- * Mark a socket as claimed so that `installUpgradeClaimHandling`'s
20
- * patched emit stops propagating the `'upgrade'` event to subsequent
21
- * listeners. SrpcServer calls this automatically; consumer apps with
22
- * their own WebSocket upgrade logic can call it to participate in the
23
- * same claim protocol.
24
- */
25
- export declare function markUpgradeClaimed(socket: import('net').Socket): void;
26
3
  export declare class SrpcServer<TMeta extends SrpcMeta = SrpcMeta, TClientOutput extends BaseMessage = BaseMessage, TServerOutput extends BaseMessage = BaseMessage> {
27
4
  private options;
28
5
  private standardSrpcAuthKey?;
@@ -31,7 +8,6 @@ export declare class SrpcServer<TMeta extends SrpcMeta = SrpcMeta, TClientOutput
31
8
  private logger;
32
9
  private wsServer;
33
10
  private httpServer;
34
- private upgradeHandler;
35
11
  private inboundType;
36
12
  private outboundType;
37
13
  private clientAuthorizer?;
@@ -1 +1 @@
1
- {"version":3,"file":"SrpcServer.d.ts","sourceRoot":"","sources":["../../../src/srpc/SrpcServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SrpcServer.d.ts","sourceRoot":"","sources":["../../../src/srpc/SrpcServer.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SrpcServer = void 0;
4
- exports.installUpgradeClaimHandling = installUpgradeClaimHandling;
5
- exports.isUpgradeClaimed = isUpgradeClaimed;
6
- exports.markUpgradeClaimed = markUpgradeClaimed;
7
4
  const tslib_1 = require("tslib");
8
5
  const __ΩReturnType = ['T', 'args', '', 'ReturnType', 'l>e"!R"RPde#!P"@2"h"!/#qk#\'QRb!Pde"!p)w$y'];
9
6
  const __ΩNonNullable = ['T', 'NonNullable', 'b!Pe"!PMKw"y'];
@@ -22,76 +19,12 @@ const helpers_1 = require("../helpers");
22
19
  const services_1 = require("../services");
23
20
  const telemetry_1 = require("../telemetry");
24
21
  const SrpcByteStream_1 = require("./SrpcByteStream");
22
+ const WebSocketUpgradeHandler_1 = require("./WebSocketUpgradeHandler");
25
23
  /*@ts-ignore*/
26
24
  var { __ΩSrpcStream, __ΩRequestKeys, __ΩTSrpcMessageHandlerFnOrClass, __ΩSrpcDisconnectCause, __ΩIQueuedRequest, __ΩSrpcMeta, __ΩBaseMessage, __ΩSrpcMessageFns, __ΩISrpcServerOptions, __ΩHandlerRequestData, __ΩResponseData, __ΩRequestData } = require('./types');
27
25
  const types_1 = require("./types");
28
26
  const type_1 = require("@deepkit/type");
29
27
  const StreamInfoSymbol = Symbol('srpc-info');
30
- const UpgradeClaimedSymbol = Symbol('srpc-upgrade-claimed');
31
- const _patchedServers = (WeakSet.Ω = [['!']], new WeakSet());
32
- /**
33
- * Monkey-patches `httpServer.emit` so that once an upgrade listener claims
34
- * a socket (by setting UpgradeClaimedSymbol), no further listeners are
35
- * invoked. This prevents consumer @AutoStart services from destroying
36
- * sockets that an SrpcServer is already handling.
37
- *
38
- * Also installs a low-priority fallback that destroys any socket not
39
- * claimed by any handler (via setImmediate, after all sync work).
40
- */
41
- function installUpgradeClaimHandling(httpServer) {
42
- if (_patchedServers.has(httpServer))
43
- return;
44
- _patchedServers.add(httpServer);
45
- // Patch emit to stop propagation once a socket is claimed.
46
- const originalEmit = httpServer.emit;
47
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
48
- httpServer.emit = __assignType(function (event, ...args) {
49
- if (event !== 'upgrade') {
50
- return originalEmit.apply(this, [event, ...args]);
51
- }
52
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
53
- const socket = args[1];
54
- const listeners = this.rawListeners('upgrade').slice();
55
- for (const fn of listeners) {
56
- fn.apply(this, args);
57
- if (socket[UpgradeClaimedSymbol])
58
- break;
59
- }
60
- return listeners.length > 0;
61
- }, ['this', 'event', 'args', '', 'P!2!P&+J2""@2#)/$']);
62
- // Fallback: destroy sockets not claimed by any handler.
63
- httpServer.on('upgrade', __assignType((_req, socket) => {
64
- setImmediate(() => {
65
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
66
- if (!socket[UpgradeClaimedSymbol] && !socket.destroyed) {
67
- socket.write('HTTP/1.1 400 Bad Request\r\n\r\n');
68
- socket.destroy();
69
- }
70
- });
71
- }, ['_req', 'socket', '', 'P"2!!2""/#']));
72
- }
73
- installUpgradeClaimHandling.__type = ['httpServer', 'installUpgradeClaimHandling', 'P!2!"/"'];
74
- /**
75
- * Returns `true` if the given socket has already been claimed by an
76
- * upgrade handler (via `markUpgradeClaimed`).
77
- */
78
- function isUpgradeClaimed(socket) {
79
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
80
- return !!socket[UpgradeClaimedSymbol];
81
- }
82
- isUpgradeClaimed.__type = ['socket', 'isUpgradeClaimed', 'P!2!)/"'];
83
- /**
84
- * Mark a socket as claimed so that `installUpgradeClaimHandling`'s
85
- * patched emit stops propagating the `'upgrade'` event to subsequent
86
- * listeners. SrpcServer calls this automatically; consumer apps with
87
- * their own WebSocket upgrade logic can call it to participate in the
88
- * same claim protocol.
89
- */
90
- function markUpgradeClaimed(socket) {
91
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
92
- socket[UpgradeClaimedSymbol] = true;
93
- }
94
- markUpgradeClaimed.__type = ['socket', 'markUpgradeClaimed', 'P!2!$/"'];
95
28
  class SrpcServer {
96
29
  constructor(options) {
97
30
  this.options = options;
@@ -133,25 +66,12 @@ class SrpcServer {
133
66
  this.httpServer = app.getHttpWorker()['server'];
134
67
  this.wsServer = new ws_1.default.Server({ noServer: true });
135
68
  this.wsServer.on('connection', this.attachConnection.bind(this));
136
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
137
- this.upgradeHandler = __assignType((req, socket, head) => {
138
- const pathname = req.url?.split('?')[0];
139
- if (pathname !== options.wsPath)
140
- return;
141
- markUpgradeClaimed(socket);
142
- this.verifyClient({ origin: '', secure: false, req }, __assignType((allowed, code, message) => {
143
- if (!allowed) {
144
- socket.write(`HTTP/1.1 ${code ?? 403} ${message ?? 'Forbidden'}\r\n\r\n`);
145
- socket.destroy();
146
- return;
147
- }
148
- this.wsServer.handleUpgrade(req, socket, head, __assignType(ws => {
149
- this.wsServer.emit('connection', ws, req);
150
- }, ['ws', '', 'P"2!"/"']));
151
- }, ['allowed', 'code', 'message', '', 'P"2!"2""2#"/$']));
152
- }, ['req', 'socket', 'head', '', 'P!2!"2"!2#"/$']);
153
- this.httpServer.prependListener('upgrade', this.upgradeHandler);
154
- installUpgradeClaimHandling(this.httpServer);
69
+ (0, WebSocketUpgradeHandler_1.installWebSocketUpgradeHandler)({
70
+ httpServer: this.httpServer,
71
+ wsPath: options.wsPath,
72
+ wsServer: this.wsServer,
73
+ verifyClient: this.verifyClient.bind(this)
74
+ });
155
75
  this.logger.info('WebSocket server listening', { path: options.wsPath });
156
76
  this.inactivityCheckInterval = setInterval(() => this.terminateInactiveStreams(), 15_000);
157
77
  }
@@ -330,7 +250,6 @@ class SrpcServer {
330
250
  }
331
251
  close() {
332
252
  clearInterval(this.inactivityCheckInterval);
333
- this.httpServer.off('upgrade', this.upgradeHandler);
334
253
  for (const stream of this.streamsById.values()) {
335
254
  this.cleanupStream(stream, 'disconnect');
336
255
  }
@@ -557,5 +476,5 @@ class SrpcServer {
557
476
  }
558
477
  }
559
478
  exports.SrpcServer = SrpcServer;
560
- SrpcServer.__type = [() => __ΩSrpcMeta, 'TMeta', () => __ΩBaseMessage, 'TClientOutput', () => __ΩBaseMessage, 'TServerOutput', 'standardSrpcAuthKey', 'authClockDriftMs', 'useRealIpHeader', () => __ΩScopedLogger, 'logger', 'wsServer', 'httpServer', 'args', '', 'upgradeHandler', () => __ΩSrpcMessageFns, 'inboundType', () => __ΩSrpcMessageFns, 'outboundType', () => __ΩSrpcMeta, 'metadata', 'req', () => __ΩSrpcMeta, 'clientAuthorizer', 'clientId', false, 'clientKeyFetcher', 'streamConnectionHandlers', function () { return (Set.Ω = [[() => __ΩSrpcStream, 'stream', '', 'P!o!"2"$/#']], new Set()); }, 'streamMessageHandlers', function () { return (Map.Ω = [[() => __ΩRequestKeys, '!o!"'], ['resultType', () => __ΩTSrpcMessageHandlerFnOrClass, () => __ΩSrpcStream, 'handler', 'P&4!!o#"""o"$4$M']], new Map()); }, 'streamDisconnectionHandlers', function () { return (Set.Ω = [[() => __ΩSrpcStream, 'stream', () => __ΩSrpcDisconnectCause, 'cause', '', 'P!o!"2"n#2$$/%']], new Set()); }, () => __ΩReturnType, () => setInterval, 'inactivityCheckInterval', 'streamsById', function () { return (Map.Ω = [['&'], [() => __ΩSrpcStream, '!o!"']], new Map()); }, 'streamsByClientId', function () { return (Map.Ω = [['&'], [() => __ΩSrpcStream, '!o!"']], new Map()); }, () => __ΩISrpcServerOptions, 'options', 'constructor', 'origin', 'secure', 'info', 'res', 'code', 'message', 'cb', 'verifyClient', () => ws_1.default, 'ws', 'attachConnection', () => __ΩSrpcStream, 'stream', 'data', 'handleWsMessage', () => ws_1.default, 'write', () => __ΩSrpcStream, 'writeToStream', () => __ΩSrpcStream, () => __ΩSrpcDisconnectCause, 'cause', 'closeStreamWithError', () => __ΩSrpcMeta, 'meta', 'validateClientAuth', 'fetchClientKey', () => __ΩSrpcMeta, () => __ΩSrpcMeta, 'authorizer', 'setClientAuthorizer', false, 'fetcher', 'setClientKeyFetcher', 'close', () => __ΩSrpcStream, 'handleStreamEstablished', () => __ΩSrpcStream, 'handleStreamDisconnected', () => __ΩSrpcStream, 'err', 'handleStreamError', 'terminateInactiveStreams', () => __ΩSrpcStream, () => __ΩSrpcDisconnectCause, 'forceCause', 'cleanupStream', () => __ΩSrpcStream, 'handleStreamDataReceived', () => __ΩSrpcStream, () => __ΩNonNullable, "byteStreamOperation", 'op', 'handleByteSubstreamOperation', () => __ΩSrpcStream, 'requestId', () => __ΩPartial, 'handleClientRequest', () => __ΩTSrpcMessageHandlerFnOrClass, () => __ΩSrpcStream, 'handler', () => __ΩSrpcStream, 'runMessageHandler', () => __ΩSrpcStream, 'registerConnectionHandler', 'prefix', () => __ΩTSrpcMessageHandlerFnOrClass, () => __ΩSrpcStream, () => __ΩHandlerRequestData, () => __ΩResponseData, 'registerMessageHandler', () => __ΩSrpcStream, () => __ΩSrpcDisconnectCause, 'registerDisconnectHandler', () => __ΩSrpcStream, () => __ΩRequestData, 'timeoutMs', () => __ΩResponseData, 'invoke', () => SrpcServer, 'instanceFn', () => SrpcServer, "invoke", 'createInvoke', 'SrpcServer', 'n!c"n#c$n%c&&3\'8;\'3(;)3);n*3+;!3,;!3-;P"@2.$//30;e!"o1"32;e!#o3"34;Pn526!27P)n8J`//398;P&2:P.;&J`//3<8;!3=;>>!3?;>@!3A;>BiDoC"3E;!3F9>G!3H9>IPe""e"#oJ#2K;"0LPP&4M)4N!47M2OP)2P\'2Q8&2R8$//2S"0T;PP7U2V!27"0W;Pe"!oX"2Y!2Z"0[;PP7\\2Ve"#2R"0];Pe"!o^"2Ye"#2Z$0_;Pe"!o`"2Yna2b&2R"0c;Pnd2e!27"0f;P&2:"0g;PPnh26!27P)niJ`//2j"0kPP&2:P.l&J`//2m"0nP"0oPe"!op"2Y"0q;Pe"!or"2Y$0s;Pe"!ot"2Y"2u$0v;P"0w;Pe"!ox"2Yny2z8"0{;Pe"!o|"2Ye""2Z$0};Pe"!o~"2Ye"".\u0080fo"2\u0081$0\u0082;Pe"!o\u0083"2Y&2\u0084e""2Re"#o\u0085"`0\u0086;Pe"!o\u0088"""o\u0087$2\u0089e"!o\u008A"2Y"2Z"0\u008B;PPe#!o\u008C"2Y$//2\u0089"0\u008DP"2\u008Ee"!o\u0090"e"""o\u0091#e"#"o\u0092#o\u008F$2\u0089"0\u0093PPe#!o\u0094"2Yn\u00952b$//2\u0089"0\u0096Pe"!o\u0097"2Y"2\u008Ee"#"o\u0098#2Z"2\u0099e"""o\u009A#`0\u009BPPP"""7\u009C//2\u009DP"""7\u009E.\u009Ff0\u00A0s5w\u00A1'];
479
+ SrpcServer.__type = [() => __ΩSrpcMeta, 'TMeta', () => __ΩBaseMessage, 'TClientOutput', () => __ΩBaseMessage, 'TServerOutput', 'standardSrpcAuthKey', 'authClockDriftMs', 'useRealIpHeader', () => __ΩScopedLogger, 'logger', 'wsServer', 'httpServer', () => __ΩSrpcMessageFns, 'inboundType', () => __ΩSrpcMessageFns, 'outboundType', () => __ΩSrpcMeta, 'metadata', 'req', () => __ΩSrpcMeta, '', 'clientAuthorizer', 'clientId', false, 'clientKeyFetcher', 'streamConnectionHandlers', function () { return (Set.Ω = [[() => __ΩSrpcStream, 'stream', '', 'P!o!"2"$/#']], new Set()); }, 'streamMessageHandlers', function () { return (Map.Ω = [[() => __ΩRequestKeys, '!o!"'], ['resultType', () => __ΩTSrpcMessageHandlerFnOrClass, () => __ΩSrpcStream, 'handler', 'P&4!!o#"""o"$4$M']], new Map()); }, 'streamDisconnectionHandlers', function () { return (Set.Ω = [[() => __ΩSrpcStream, 'stream', () => __ΩSrpcDisconnectCause, 'cause', '', 'P!o!"2"n#2$$/%']], new Set()); }, () => __ΩReturnType, () => setInterval, 'inactivityCheckInterval', 'streamsById', function () { return (Map.Ω = [['&'], [() => __ΩSrpcStream, '!o!"']], new Map()); }, 'streamsByClientId', function () { return (Map.Ω = [['&'], [() => __ΩSrpcStream, '!o!"']], new Map()); }, () => __ΩISrpcServerOptions, 'options', 'constructor', 'origin', 'secure', 'info', 'res', 'code', 'message', 'cb', 'verifyClient', () => ws_1.default, 'ws', 'attachConnection', () => __ΩSrpcStream, 'stream', 'data', 'handleWsMessage', () => ws_1.default, 'write', () => __ΩSrpcStream, 'writeToStream', () => __ΩSrpcStream, () => __ΩSrpcDisconnectCause, 'cause', 'closeStreamWithError', () => __ΩSrpcMeta, 'meta', 'validateClientAuth', 'fetchClientKey', () => __ΩSrpcMeta, () => __ΩSrpcMeta, 'authorizer', 'setClientAuthorizer', false, 'fetcher', 'setClientKeyFetcher', 'close', () => __ΩSrpcStream, 'handleStreamEstablished', () => __ΩSrpcStream, 'handleStreamDisconnected', () => __ΩSrpcStream, 'err', 'handleStreamError', 'terminateInactiveStreams', () => __ΩSrpcStream, () => __ΩSrpcDisconnectCause, 'forceCause', 'cleanupStream', () => __ΩSrpcStream, 'handleStreamDataReceived', () => __ΩSrpcStream, () => __ΩNonNullable, "byteStreamOperation", 'op', 'handleByteSubstreamOperation', () => __ΩSrpcStream, 'requestId', () => __ΩPartial, 'handleClientRequest', () => __ΩTSrpcMessageHandlerFnOrClass, () => __ΩSrpcStream, 'handler', () => __ΩSrpcStream, 'runMessageHandler', () => __ΩSrpcStream, 'registerConnectionHandler', 'prefix', () => __ΩTSrpcMessageHandlerFnOrClass, () => __ΩSrpcStream, () => __ΩHandlerRequestData, () => __ΩResponseData, 'registerMessageHandler', () => __ΩSrpcStream, () => __ΩSrpcDisconnectCause, 'registerDisconnectHandler', () => __ΩSrpcStream, () => __ΩRequestData, 'timeoutMs', () => __ΩResponseData, 'invoke', () => SrpcServer, 'instanceFn', () => SrpcServer, "invoke", 'createInvoke', 'SrpcServer', 'n!c"n#c$n%c&&3\'8;\'3(;)3);n*3+;!3,;!3-;e!"o."3/;e!#o0"31;Pn223!24P)n5J`/6378;P&28P.9&J`/63:8;!3;;><!3=;>>!3?;>@iBoA"3C;!3D9>E!3F9>GPe""e"#oH#2I;"0JPP&4K)4L!44M2MP)2N\'2O8&2P8$/62Q"0R;PP7S2T!24"0U;Pe"!oV"2W!2X"0Y;PP7Z2Te"#2P"0[;Pe"!o\\"2We"#2X$0];Pe"!o^"2Wn_2`&2P"0a;Pnb2c!24"0d;P&28"0e;PPnf23!24P)ngJ`/62h"0iPP&28P.j&J`/62k"0lP"0mPe"!on"2W"0o;Pe"!op"2W$0q;Pe"!or"2W"2s$0t;P"0u;Pe"!ov"2Wnw2x8"0y;Pe"!oz"2We""2X$0{;Pe"!o|"2We"".~fo}"2$0\u0080;Pe"!o\u0081"2W&2\u0082e""2Pe"#o\u0083"`0\u0084;Pe"!o\u0086"""o\u0085$2\u0087e"!o\u0088"2W"2X"0\u0089;PPe#!o\u008A"2W$/62\u0087"0\u008BP"2\u008Ce"!o\u008E"e"""o\u008F#e"#"o\u0090#o\u008D$2\u0087"0\u0091PPe#!o\u0092"2Wn\u00932`$/62\u0087"0\u0094Pe"!o\u0095"2W"2\u008Ce"#"o\u0096#2X"2\u0097e"""o\u0098#`0\u0099PPP"""7\u009A/62\u009BP"""7\u009C.\u009Df0\u009Es5w\u009F'];
561
480
  //# sourceMappingURL=SrpcServer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SrpcServer.js","sourceRoot":"","sources":["../../../src/srpc/SrpcServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SrpcServer.js","sourceRoot":"","sources":["../../../src/srpc/SrpcServer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { IncomingMessage } from 'http';
2
+ import WebSocket from 'ws';
3
+ type UpgradeHandler = (req: IncomingMessage, socket: import('net').Socket, head: Buffer) => void;
4
+ type VerifyClientFn = (info: {
5
+ origin: string;
6
+ secure: boolean;
7
+ req: IncomingMessage;
8
+ }, cb: (res: boolean, code?: number, message?: string) => void) => void;
9
+ type UpgradeClaimHandlingOptions = {
10
+ unclaimedUpgradeRejectionDelayMs?: number;
11
+ };
12
+ type WebSocketUpgradeHandlerOptions = UpgradeClaimHandlingOptions & {
13
+ httpServer: import('http').Server;
14
+ wsPath: string;
15
+ wsServer: WebSocket.Server;
16
+ verifyClient: VerifyClientFn;
17
+ };
18
+ export declare function installWebSocketUpgradeHandler(options: WebSocketUpgradeHandlerOptions): UpgradeHandler;
19
+ export {};
20
+ //# sourceMappingURL=WebSocketUpgradeHandler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WebSocketUpgradeHandler.d.ts","sourceRoot":"","sources":["../../../src/srpc/WebSocketUpgradeHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AACvC,OAAO,SAAS,MAAM,IAAI,CAAC;AAU3B,KAAK,cAAc,GAAG,CAAC,GAAG,EAAE,eAAe,EAAE,MAAM,EAAE,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;AAEjG,KAAK,cAAc,GAAG,CAClB,IAAI,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,GAAG,EAAE,eAAe,CAAA;CAAE,EAC/D,EAAE,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,IAAI,KAC1D,IAAI,CAAC;AAEV,KAAK,2BAA2B,GAAG;IAC/B,gCAAgC,CAAC,EAAE,MAAM,CAAC;CAC7C,CAAC;AAEF,KAAK,8BAA8B,GAAG,2BAA2B,GAAG;IAChE,UAAU,EAAE,OAAO,MAAM,EAAE,MAAM,CAAC;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC;IAC3B,YAAY,EAAE,cAAc,CAAC;CAChC,CAAC;AAiIF,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,8BAA8B,GAAG,cAAc,CAuCtG"}
@@ -0,0 +1,183 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.installWebSocketUpgradeHandler = installWebSocketUpgradeHandler;
4
+ const __ΩReturnType = ['T', 'args', '', 'ReturnType', 'l>e"!R"RPde#!P"@2"h"!/#qk#\'QRb!Pde"!p)w$y'];
5
+ function __assignType(fn, args) {
6
+ fn.__type = args;
7
+ return fn;
8
+ }
9
+ const UpgradeClaimedSymbol = Symbol('srpc-upgrade-claimed');
10
+ const UpgradeRejectTimerSymbol = Symbol('srpc-upgrade-reject-timer');
11
+ const UpgradeOriginalWriteSymbol = Symbol('srpc-upgrade-original-write');
12
+ const UpgradeWriteProbeBufferSymbol = Symbol('srpc-upgrade-write-probe-buffer');
13
+ const UpgradeClaimHandlingInstalledSymbol = Symbol('srpc-upgrade-claim-handling-installed');
14
+ const InstalledUpgradeHandlersSymbol = Symbol('srpc-installed-upgrade-handlers');
15
+ const DEFAULT_UNCLAIMED_UPGRADE_REJECTION_DELAY_MS = 1_000;
16
+ const __ΩUpgradeRejectionTimer = [() => __ΩReturnType, () => setTimeout, 'UpgradeRejectionTimer', 'i"o!"w#y'];
17
+ const __ΩUpgradeHandler = ['req', 'socket', 'head', '', 'UpgradeHandler', 'P!2!!2"!2#$/$w%y'];
18
+ const __ΩVerifyClientFn = ['origin', 'secure', 'req', 'info', 'res', 'code', 'message', '', 'cb', 'VerifyClientFn', 'PP&4!)4"!4#M2$P)2%\'2&8&2\'8$/(2)$/(w*y'];
19
+ const __ΩUpgradeClaimHandlingOptions = ['unclaimedUpgradeRejectionDelayMs', 'UpgradeClaimHandlingOptions', 'P\'4!8Mw"y'];
20
+ const __ΩWebSocketUpgradeHandlerOptions = [() => __ΩUpgradeClaimHandlingOptions, 'httpServer', 'wsPath', 'wsServer', () => __ΩVerifyClientFn, 'verifyClient', 'WebSocketUpgradeHandlerOptions', 'Pn!P!4"&4#!4$n%4&MKw\'y'];
21
+ function extractProbeChunk(chunk) {
22
+ if (typeof chunk === 'string')
23
+ return chunk;
24
+ if (Buffer.isBuffer(chunk))
25
+ return chunk.toString('latin1');
26
+ if (chunk instanceof Uint8Array)
27
+ return Buffer.from(chunk).toString('latin1');
28
+ return '';
29
+ }
30
+ extractProbeChunk.__type = ['chunk', 'extractProbeChunk', 'P#2!&/"'];
31
+ function clearUpgradeSuccessProbe(socket) {
32
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
33
+ const anySocket = socket;
34
+ const originalWrite = anySocket[UpgradeOriginalWriteSymbol];
35
+ if (!originalWrite)
36
+ return;
37
+ anySocket.write = originalWrite;
38
+ delete anySocket[UpgradeOriginalWriteSymbol];
39
+ delete anySocket[UpgradeWriteProbeBufferSymbol];
40
+ }
41
+ clearUpgradeSuccessProbe.__type = ['socket', 'clearUpgradeSuccessProbe', 'P!2!$/"'];
42
+ function installUpgradeSuccessProbe(socket) {
43
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
44
+ const anySocket = socket;
45
+ if (anySocket[UpgradeOriginalWriteSymbol])
46
+ return;
47
+ const originalWrite = anySocket.write;
48
+ anySocket[UpgradeOriginalWriteSymbol] = originalWrite;
49
+ anySocket[UpgradeWriteProbeBufferSymbol] = '';
50
+ anySocket.write = __assignType(function (chunk, ...args) {
51
+ if (!anySocket[UpgradeClaimedSymbol]) {
52
+ const probeChunk = extractProbeChunk(chunk);
53
+ if (probeChunk) {
54
+ const previous = String(anySocket[UpgradeWriteProbeBufferSymbol] ?? '');
55
+ const probeBuffer = (previous + probeChunk).slice(0, 256);
56
+ anySocket[UpgradeWriteProbeBufferSymbol] = probeBuffer;
57
+ if (/^HTTP\/1\.[01]\s+101\b/i.test(probeBuffer.trimStart())) {
58
+ markUpgradeClaimed(socket);
59
+ }
60
+ }
61
+ }
62
+ return originalWrite.apply(this, [chunk, ...args]);
63
+ }, ['this', 'chunk', 'args', '', 'P#2!#2"#@2#"/$']);
64
+ socket.once('close', () => {
65
+ clearUpgradeSuccessProbe(socket);
66
+ clearUpgradeRejectionTimer(socket);
67
+ });
68
+ }
69
+ installUpgradeSuccessProbe.__type = ['socket', 'installUpgradeSuccessProbe', 'P!2!$/"'];
70
+ function clearUpgradeRejectionTimer(socket) {
71
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
72
+ const timer = socket[UpgradeRejectTimerSymbol];
73
+ if (timer) {
74
+ clearTimeout(timer);
75
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
76
+ delete socket[UpgradeRejectTimerSymbol];
77
+ }
78
+ }
79
+ clearUpgradeRejectionTimer.__type = ['socket', 'clearUpgradeRejectionTimer', 'P!2!$/"'];
80
+ /**
81
+ * Monkey-patches `httpServer.emit` so that once an upgrade listener claims
82
+ * a socket (by setting UpgradeClaimedSymbol), no further listeners are
83
+ * invoked. This prevents consumer @AutoStart services from destroying
84
+ * sockets that an SrpcServer is already handling.
85
+ *
86
+ * Also installs a low-priority fallback that destroys any socket not
87
+ * claimed by any handler (via delayed timeout).
88
+ */
89
+ function installUpgradeClaimHandling(httpServer, options) {
90
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
91
+ const anyServer = httpServer;
92
+ if (anyServer[UpgradeClaimHandlingInstalledSymbol])
93
+ return;
94
+ anyServer[UpgradeClaimHandlingInstalledSymbol] = true;
95
+ const unclaimedUpgradeRejectionDelayMs = Math.max(0, options?.unclaimedUpgradeRejectionDelayMs ?? DEFAULT_UNCLAIMED_UPGRADE_REJECTION_DELAY_MS);
96
+ // Patch emit to stop propagation once a socket is claimed.
97
+ const originalEmit = httpServer.emit;
98
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
99
+ httpServer.emit = __assignType(function (event, ...args) {
100
+ if (event !== 'upgrade') {
101
+ return originalEmit.apply(this, [event, ...args]);
102
+ }
103
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
104
+ const socket = args[1];
105
+ installUpgradeSuccessProbe(socket);
106
+ const listeners = this.rawListeners('upgrade').slice();
107
+ for (const fn of listeners) {
108
+ fn.apply(this, args);
109
+ if (socket[UpgradeClaimedSymbol])
110
+ break;
111
+ }
112
+ return listeners.length > 0;
113
+ }, ['this', 'event', 'args', '', 'P!2!P&+J2""@2#)/$']);
114
+ // Fallback: destroy sockets not claimed by any handler.
115
+ httpServer.on('upgrade', __assignType((_req, socket) => {
116
+ clearUpgradeRejectionTimer(socket);
117
+ const timer = setTimeout(() => {
118
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
119
+ if (!socket[UpgradeClaimedSymbol] && !socket.destroyed) {
120
+ socket.write('HTTP/1.1 400 Bad Request\r\n\r\n');
121
+ socket.destroy();
122
+ }
123
+ clearUpgradeRejectionTimer(socket);
124
+ }, unclaimedUpgradeRejectionDelayMs);
125
+ timer.unref?.();
126
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
127
+ socket[UpgradeRejectTimerSymbol] = timer;
128
+ socket.once('close', () => {
129
+ clearUpgradeSuccessProbe(socket);
130
+ clearUpgradeRejectionTimer(socket);
131
+ });
132
+ }, ['_req', 'socket', '', 'P"2!!2""/#']));
133
+ }
134
+ installUpgradeClaimHandling.__type = ['httpServer', () => __ΩUpgradeClaimHandlingOptions, 'options', 'installUpgradeClaimHandling', 'P!2!n"2#8"/$'];
135
+ /**
136
+ * Mark a socket as claimed so that `installUpgradeClaimHandling`'s
137
+ * patched emit stops propagating the `'upgrade'` event to subsequent
138
+ * listeners.
139
+ */
140
+ function markUpgradeClaimed(socket) {
141
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
142
+ socket[UpgradeClaimedSymbol] = true;
143
+ clearUpgradeRejectionTimer(socket);
144
+ clearUpgradeSuccessProbe(socket);
145
+ }
146
+ markUpgradeClaimed.__type = ['socket', 'markUpgradeClaimed', 'P!2!$/"'];
147
+ function installWebSocketUpgradeHandler(options) {
148
+ const { httpServer, wsPath, wsServer, verifyClient, unclaimedUpgradeRejectionDelayMs } = options;
149
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
150
+ const anyServer = httpServer;
151
+ const installedHandlers =
152
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
153
+ anyServer[InstalledUpgradeHandlersSymbol] ?? new Map();
154
+ anyServer[InstalledUpgradeHandlersSymbol] = installedHandlers;
155
+ const existingHandler = installedHandlers.get(wsPath);
156
+ if (existingHandler) {
157
+ installUpgradeClaimHandling(httpServer, { unclaimedUpgradeRejectionDelayMs });
158
+ return existingHandler;
159
+ }
160
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
161
+ const upgradeHandler = __assignType((req, socket, head) => {
162
+ const pathname = req.url?.split('?')[0];
163
+ if (pathname !== wsPath)
164
+ return;
165
+ markUpgradeClaimed(socket);
166
+ verifyClient({ origin: '', secure: false, req }, __assignType((allowed, code, message) => {
167
+ if (!allowed) {
168
+ socket.write(`HTTP/1.1 ${code ?? 403} ${message ?? 'Forbidden'}\r\n\r\n`);
169
+ socket.destroy();
170
+ return;
171
+ }
172
+ wsServer.handleUpgrade(req, socket, head, __assignType(ws => {
173
+ wsServer.emit('connection', ws, req);
174
+ }, ['ws', '', 'P"2!"/"']));
175
+ }, ['allowed', 'code', 'message', '', 'P"2!"2""2#"/$']));
176
+ }, ['req', 'socket', 'head', '', 'P!2!"2"!2#"/$']);
177
+ httpServer.prependListener('upgrade', upgradeHandler);
178
+ installedHandlers.set(wsPath, upgradeHandler);
179
+ installUpgradeClaimHandling(httpServer, { unclaimedUpgradeRejectionDelayMs });
180
+ return upgradeHandler;
181
+ }
182
+ installWebSocketUpgradeHandler.__type = [() => __ΩWebSocketUpgradeHandlerOptions, 'options', () => __ΩUpgradeHandler, 'installWebSocketUpgradeHandler', 'Pn!2"n#/$'];
183
+ //# sourceMappingURL=WebSocketUpgradeHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WebSocketUpgradeHandler.js","sourceRoot":"","sources":["../../../src/srpc/WebSocketUpgradeHandler.ts"],"names":[],"mappings":"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"}
package/docs/yarn.lock CHANGED
@@ -757,16 +757,6 @@ __metadata:
757
757
  languageName: node
758
758
  linkType: hard
759
759
 
760
- "@zyno-io/dk-server-foundation-docs@workspace:.":
761
- version: 0.0.0-use.local
762
- resolution: "@zyno-io/dk-server-foundation-docs@workspace:."
763
- dependencies:
764
- playwright: "npm:^1.58.2"
765
- vitepress: "npm:^1.6.4"
766
- vue: "npm:^3.5.28"
767
- languageName: unknown
768
- linkType: soft
769
-
770
760
  "@types/estree@npm:1.0.8":
771
761
  version: 1.0.8
772
762
  resolution: "@types/estree@npm:1.0.8"
@@ -1057,6 +1047,16 @@ __metadata:
1057
1047
  languageName: node
1058
1048
  linkType: hard
1059
1049
 
1050
+ "@zyno-io/dk-server-foundation-docs@workspace:.":
1051
+ version: 0.0.0-use.local
1052
+ resolution: "@zyno-io/dk-server-foundation-docs@workspace:."
1053
+ dependencies:
1054
+ playwright: "npm:^1.58.2"
1055
+ vitepress: "npm:^1.6.4"
1056
+ vue: "npm:^3.5.28"
1057
+ languageName: unknown
1058
+ linkType: soft
1059
+
1060
1060
  "abbrev@npm:^4.0.0":
1061
1061
  version: 4.0.0
1062
1062
  resolution: "abbrev@npm:4.0.0"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zyno-io/dk-server-foundation",
3
- "version": "26.216.430",
3
+ "version": "26.216.907",
4
4
  "description": "TypeScript server foundation built on the Deepkit framework",
5
5
  "repository": {
6
6
  "type": "git",
package/src/app/config.ts CHANGED
@@ -20,6 +20,8 @@ export class BaseAppConfig {
20
20
  PG_PASSWORD_SECRET?: string;
21
21
  PG_DATABASE?: string;
22
22
  PG_SCHEMA?: string;
23
+ PG_SSL?: boolean;
24
+ PG_SSL_REJECT_UNAUTHORIZED?: boolean;
23
25
  PG_CONNECTION_LIMIT?: number;
24
26
  PG_IDLE_TIMEOUT_SECONDS?: number;
25
27
 
@@ -60,12 +60,15 @@ export function createPostgresDatabase(
60
60
 
61
61
  const { enableLocksTable, ...otherConfig } = config;
62
62
 
63
+ const ssl = appConfig.PG_SSL ? { rejectUnauthorized: appConfig.PG_SSL_REJECT_UNAUTHORIZED ?? true } : undefined;
64
+
63
65
  const adapter = new PostgresDatabaseAdapter({
64
66
  host: appConfig.PG_HOST,
65
67
  port: appConfig.PG_PORT,
66
68
  user: appConfig.PG_USER,
67
69
  password: appConfig.PG_PASSWORD_SECRET,
68
70
  database: appConfig.PG_DATABASE,
71
+ ssl,
69
72
  max: appConfig.PG_CONNECTION_LIMIT ?? (isProduction ? 10 : 5),
70
73
  idleTimeoutMillis: (appConfig.PG_IDLE_TIMEOUT_SECONDS ?? (isProduction ? 60 : 5)) * 1000,
71
74
  ...otherConfig
@@ -9,6 +9,7 @@ import { uuid7 } from '../helpers';
9
9
  import { withLoggerContext } from '../services';
10
10
  import { getTraceContext, withRemoteSpan, withSpan } from '../telemetry';
11
11
  import { SrpcByteStream } from './SrpcByteStream';
12
+ import { installWebSocketUpgradeHandler } from './WebSocketUpgradeHandler';
12
13
  import {
13
14
  BaseMessage,
14
15
  HandlerRequestData,
@@ -30,72 +31,6 @@ import {
30
31
  import { uuid } from '@deepkit/type';
31
32
 
32
33
  const StreamInfoSymbol = Symbol('srpc-info');
33
- const UpgradeClaimedSymbol = Symbol('srpc-upgrade-claimed');
34
- const _patchedServers = new WeakSet<import('http').Server>();
35
-
36
- /**
37
- * Monkey-patches `httpServer.emit` so that once an upgrade listener claims
38
- * a socket (by setting UpgradeClaimedSymbol), no further listeners are
39
- * invoked. This prevents consumer @AutoStart services from destroying
40
- * sockets that an SrpcServer is already handling.
41
- *
42
- * Also installs a low-priority fallback that destroys any socket not
43
- * claimed by any handler (via setImmediate, after all sync work).
44
- */
45
- export function installUpgradeClaimHandling(httpServer: import('http').Server) {
46
- if (_patchedServers.has(httpServer)) return;
47
- _patchedServers.add(httpServer);
48
-
49
- // Patch emit to stop propagation once a socket is claimed.
50
- const originalEmit = httpServer.emit;
51
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
52
- httpServer.emit = function (this: import('http').Server, event: string | symbol, ...args: any[]): boolean {
53
- if (event !== 'upgrade') {
54
- return originalEmit.apply(this, [event, ...args]);
55
- }
56
-
57
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
58
- const socket = args[1] as any;
59
- const listeners = this.rawListeners('upgrade').slice();
60
- for (const fn of listeners) {
61
- (fn as Function).apply(this, args);
62
- if (socket[UpgradeClaimedSymbol]) break;
63
- }
64
- return listeners.length > 0;
65
- };
66
-
67
- // Fallback: destroy sockets not claimed by any handler.
68
- httpServer.on('upgrade', (_req, socket: import('net').Socket) => {
69
- setImmediate(() => {
70
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
71
- if (!(socket as any)[UpgradeClaimedSymbol] && !socket.destroyed) {
72
- socket.write('HTTP/1.1 400 Bad Request\r\n\r\n');
73
- socket.destroy();
74
- }
75
- });
76
- });
77
- }
78
-
79
- /**
80
- * Returns `true` if the given socket has already been claimed by an
81
- * upgrade handler (via `markUpgradeClaimed`).
82
- */
83
- export function isUpgradeClaimed(socket: import('net').Socket): boolean {
84
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
85
- return !!(socket as any)[UpgradeClaimedSymbol];
86
- }
87
-
88
- /**
89
- * Mark a socket as claimed so that `installUpgradeClaimHandling`'s
90
- * patched emit stops propagating the `'upgrade'` event to subsequent
91
- * listeners. SrpcServer calls this automatically; consumer apps with
92
- * their own WebSocket upgrade logic can call it to participate in the
93
- * same claim protocol.
94
- */
95
- export function markUpgradeClaimed(socket: import('net').Socket): void {
96
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
97
- (socket as any)[UpgradeClaimedSymbol] = true;
98
- }
99
34
 
100
35
  export class SrpcServer<
101
36
  TMeta extends SrpcMeta = SrpcMeta,
@@ -109,8 +44,6 @@ export class SrpcServer<
109
44
  private logger: ScopedLogger;
110
45
  private wsServer: WebSocket.Server;
111
46
  private httpServer: import('http').Server;
112
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
113
- private upgradeHandler: (...args: any[]) => void;
114
47
  private inboundType: SrpcMessageFns<TClientOutput>;
115
48
  private outboundType: SrpcMessageFns<TServerOutput>;
116
49
 
@@ -132,8 +65,8 @@ export class SrpcServer<
132
65
  constructor(private options: ISrpcServerOptions<TClientOutput, TServerOutput>) {
133
66
  const logLevel = options.logLevel ?? 'info';
134
67
  if (logLevel === false) {
135
- const noop = (() => {}) as any;
136
- this.logger = { info: noop, warn: noop, error: noop, debug: noop } as any;
68
+ const noop = (() => {}) as (...args: unknown[]) => void;
69
+ this.logger = { info: noop, warn: noop, error: noop, debug: noop } as unknown as ScopedLogger;
137
70
  options.debug = false;
138
71
  } else if (logLevel === 'debug') {
139
72
  const base = options.logger;
@@ -142,7 +75,7 @@ export class SrpcServer<
142
75
  warn: base.warn.bind(base),
143
76
  error: base.error.bind(base),
144
77
  debug: base.debug.bind(base)
145
- } as any;
78
+ } as unknown as ScopedLogger;
146
79
  } else {
147
80
  this.logger = options.logger;
148
81
  }
@@ -163,26 +96,12 @@ export class SrpcServer<
163
96
  this.wsServer = new WebSocket.Server({ noServer: true });
164
97
  this.wsServer.on('connection', this.attachConnection.bind(this));
165
98
 
166
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
167
- this.upgradeHandler = (req: IncomingMessage, socket: any, head: Buffer) => {
168
- const pathname = req.url?.split('?')[0];
169
- if (pathname !== options.wsPath) return;
170
-
171
- markUpgradeClaimed(socket);
172
-
173
- this.verifyClient({ origin: '', secure: false, req }, (allowed, code, message) => {
174
- if (!allowed) {
175
- socket.write(`HTTP/1.1 ${code ?? 403} ${message ?? 'Forbidden'}\r\n\r\n`);
176
- socket.destroy();
177
- return;
178
- }
179
- this.wsServer.handleUpgrade(req, socket, head, ws => {
180
- this.wsServer.emit('connection', ws, req);
181
- });
182
- });
183
- };
184
- this.httpServer.prependListener('upgrade', this.upgradeHandler);
185
- installUpgradeClaimHandling(this.httpServer);
99
+ installWebSocketUpgradeHandler({
100
+ httpServer: this.httpServer,
101
+ wsPath: options.wsPath,
102
+ wsServer: this.wsServer,
103
+ verifyClient: this.verifyClient.bind(this)
104
+ });
186
105
 
187
106
  this.logger.info('WebSocket server listening', { path: options.wsPath });
188
107
 
@@ -402,7 +321,6 @@ export class SrpcServer<
402
321
 
403
322
  close() {
404
323
  clearInterval(this.inactivityCheckInterval);
405
- this.httpServer.off('upgrade', this.upgradeHandler);
406
324
  for (const stream of this.streamsById.values()) {
407
325
  this.cleanupStream(stream, 'disconnect');
408
326
  }
@@ -0,0 +1,196 @@
1
+ import { IncomingMessage } from 'http';
2
+ import WebSocket from 'ws';
3
+
4
+ const UpgradeClaimedSymbol = Symbol('srpc-upgrade-claimed');
5
+ const UpgradeRejectTimerSymbol = Symbol('srpc-upgrade-reject-timer');
6
+ const UpgradeOriginalWriteSymbol = Symbol('srpc-upgrade-original-write');
7
+ const UpgradeWriteProbeBufferSymbol = Symbol('srpc-upgrade-write-probe-buffer');
8
+ const UpgradeClaimHandlingInstalledSymbol = Symbol('srpc-upgrade-claim-handling-installed');
9
+ const InstalledUpgradeHandlersSymbol = Symbol('srpc-installed-upgrade-handlers');
10
+ const DEFAULT_UNCLAIMED_UPGRADE_REJECTION_DELAY_MS = 1_000;
11
+ type UpgradeRejectionTimer = ReturnType<typeof setTimeout>;
12
+ type UpgradeHandler = (req: IncomingMessage, socket: import('net').Socket, head: Buffer) => void;
13
+
14
+ type VerifyClientFn = (
15
+ info: { origin: string; secure: boolean; req: IncomingMessage },
16
+ cb: (res: boolean, code?: number, message?: string) => void
17
+ ) => void;
18
+
19
+ type UpgradeClaimHandlingOptions = {
20
+ unclaimedUpgradeRejectionDelayMs?: number;
21
+ };
22
+
23
+ type WebSocketUpgradeHandlerOptions = UpgradeClaimHandlingOptions & {
24
+ httpServer: import('http').Server;
25
+ wsPath: string;
26
+ wsServer: WebSocket.Server;
27
+ verifyClient: VerifyClientFn;
28
+ };
29
+
30
+ function extractProbeChunk(chunk: unknown): string {
31
+ if (typeof chunk === 'string') return chunk;
32
+ if (Buffer.isBuffer(chunk)) return chunk.toString('latin1');
33
+ if (chunk instanceof Uint8Array) return Buffer.from(chunk).toString('latin1');
34
+ return '';
35
+ }
36
+
37
+ function clearUpgradeSuccessProbe(socket: import('net').Socket): void {
38
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
39
+ const anySocket = socket as any;
40
+ const originalWrite = anySocket[UpgradeOriginalWriteSymbol] as ((...args: unknown[]) => unknown) | undefined;
41
+ if (!originalWrite) return;
42
+
43
+ anySocket.write = originalWrite;
44
+ delete anySocket[UpgradeOriginalWriteSymbol];
45
+ delete anySocket[UpgradeWriteProbeBufferSymbol];
46
+ }
47
+
48
+ function installUpgradeSuccessProbe(socket: import('net').Socket): void {
49
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
50
+ const anySocket = socket as any;
51
+ if (anySocket[UpgradeOriginalWriteSymbol]) return;
52
+
53
+ const originalWrite = anySocket.write as (...args: unknown[]) => unknown;
54
+ anySocket[UpgradeOriginalWriteSymbol] = originalWrite;
55
+ anySocket[UpgradeWriteProbeBufferSymbol] = '';
56
+
57
+ anySocket.write = function (this: unknown, chunk: unknown, ...args: unknown[]) {
58
+ if (!anySocket[UpgradeClaimedSymbol]) {
59
+ const probeChunk = extractProbeChunk(chunk);
60
+ if (probeChunk) {
61
+ const previous = String(anySocket[UpgradeWriteProbeBufferSymbol] ?? '');
62
+ const probeBuffer = (previous + probeChunk).slice(0, 256);
63
+ anySocket[UpgradeWriteProbeBufferSymbol] = probeBuffer;
64
+
65
+ if (/^HTTP\/1\.[01]\s+101\b/i.test(probeBuffer.trimStart())) {
66
+ markUpgradeClaimed(socket);
67
+ }
68
+ }
69
+ }
70
+ return originalWrite.apply(this, [chunk, ...args]);
71
+ };
72
+
73
+ socket.once('close', () => {
74
+ clearUpgradeSuccessProbe(socket);
75
+ clearUpgradeRejectionTimer(socket);
76
+ });
77
+ }
78
+
79
+ function clearUpgradeRejectionTimer(socket: import('net').Socket): void {
80
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
81
+ const timer = (socket as any)[UpgradeRejectTimerSymbol] as UpgradeRejectionTimer | undefined;
82
+ if (timer) {
83
+ clearTimeout(timer);
84
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
85
+ delete (socket as any)[UpgradeRejectTimerSymbol];
86
+ }
87
+ }
88
+
89
+ /**
90
+ * Monkey-patches `httpServer.emit` so that once an upgrade listener claims
91
+ * a socket (by setting UpgradeClaimedSymbol), no further listeners are
92
+ * invoked. This prevents consumer @AutoStart services from destroying
93
+ * sockets that an SrpcServer is already handling.
94
+ *
95
+ * Also installs a low-priority fallback that destroys any socket not
96
+ * claimed by any handler (via delayed timeout).
97
+ */
98
+ function installUpgradeClaimHandling(httpServer: import('http').Server, options?: UpgradeClaimHandlingOptions) {
99
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
100
+ const anyServer = httpServer as any;
101
+ if (anyServer[UpgradeClaimHandlingInstalledSymbol]) return;
102
+ anyServer[UpgradeClaimHandlingInstalledSymbol] = true;
103
+ const unclaimedUpgradeRejectionDelayMs = Math.max(0, options?.unclaimedUpgradeRejectionDelayMs ?? DEFAULT_UNCLAIMED_UPGRADE_REJECTION_DELAY_MS);
104
+
105
+ // Patch emit to stop propagation once a socket is claimed.
106
+ const originalEmit = httpServer.emit;
107
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
108
+ httpServer.emit = function (this: import('http').Server, event: string | symbol, ...args: any[]): boolean {
109
+ if (event !== 'upgrade') {
110
+ return originalEmit.apply(this, [event, ...args]);
111
+ }
112
+
113
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
114
+ const socket = args[1] as any;
115
+ installUpgradeSuccessProbe(socket);
116
+ const listeners = this.rawListeners('upgrade').slice();
117
+ for (const fn of listeners) {
118
+ (fn as (...args: unknown[]) => unknown).apply(this, args);
119
+ if (socket[UpgradeClaimedSymbol]) break;
120
+ }
121
+ return listeners.length > 0;
122
+ };
123
+
124
+ // Fallback: destroy sockets not claimed by any handler.
125
+ httpServer.on('upgrade', (_req, socket: import('net').Socket) => {
126
+ clearUpgradeRejectionTimer(socket);
127
+ const timer = setTimeout(() => {
128
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
129
+ if (!(socket as any)[UpgradeClaimedSymbol] && !socket.destroyed) {
130
+ socket.write('HTTP/1.1 400 Bad Request\r\n\r\n');
131
+ socket.destroy();
132
+ }
133
+ clearUpgradeRejectionTimer(socket);
134
+ }, unclaimedUpgradeRejectionDelayMs);
135
+ timer.unref?.();
136
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
137
+ (socket as any)[UpgradeRejectTimerSymbol] = timer;
138
+ socket.once('close', () => {
139
+ clearUpgradeSuccessProbe(socket);
140
+ clearUpgradeRejectionTimer(socket);
141
+ });
142
+ });
143
+ }
144
+
145
+ /**
146
+ * Mark a socket as claimed so that `installUpgradeClaimHandling`'s
147
+ * patched emit stops propagating the `'upgrade'` event to subsequent
148
+ * listeners.
149
+ */
150
+ function markUpgradeClaimed(socket: import('net').Socket): void {
151
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
152
+ (socket as any)[UpgradeClaimedSymbol] = true;
153
+ clearUpgradeRejectionTimer(socket);
154
+ clearUpgradeSuccessProbe(socket);
155
+ }
156
+
157
+ export function installWebSocketUpgradeHandler(options: WebSocketUpgradeHandlerOptions): UpgradeHandler {
158
+ const { httpServer, wsPath, wsServer, verifyClient, unclaimedUpgradeRejectionDelayMs } = options;
159
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
160
+ const anyServer = httpServer as any;
161
+ const installedHandlers =
162
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
163
+ (anyServer[InstalledUpgradeHandlersSymbol] as Map<string, UpgradeHandler> | undefined) ?? new Map();
164
+ anyServer[InstalledUpgradeHandlersSymbol] = installedHandlers;
165
+
166
+ const existingHandler = installedHandlers.get(wsPath);
167
+ if (existingHandler) {
168
+ installUpgradeClaimHandling(httpServer, { unclaimedUpgradeRejectionDelayMs });
169
+ return existingHandler;
170
+ }
171
+
172
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
173
+ const upgradeHandler = (req: IncomingMessage, socket: any, head: Buffer) => {
174
+ const pathname = req.url?.split('?')[0];
175
+ if (pathname !== wsPath) return;
176
+
177
+ markUpgradeClaimed(socket);
178
+
179
+ verifyClient({ origin: '', secure: false, req }, (allowed, code, message) => {
180
+ if (!allowed) {
181
+ socket.write(`HTTP/1.1 ${code ?? 403} ${message ?? 'Forbidden'}\r\n\r\n`);
182
+ socket.destroy();
183
+ return;
184
+ }
185
+
186
+ wsServer.handleUpgrade(req, socket, head, ws => {
187
+ wsServer.emit('connection', ws, req);
188
+ });
189
+ });
190
+ };
191
+
192
+ httpServer.prependListener('upgrade', upgradeHandler);
193
+ installedHandlers.set(wsPath, upgradeHandler);
194
+ installUpgradeClaimHandling(httpServer, { unclaimedUpgradeRejectionDelayMs });
195
+ return upgradeHandler;
196
+ }