@zyno-io/dk-server-foundation 26.216.436 → 26.217.354

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"}
@@ -138,6 +138,7 @@ function extractTsconfigArg(args) {
138
138
  }
139
139
  extractTsconfigArg.__type = ['args', 'extractTsconfigArg', 'P&F2!P&-J/"'];
140
140
  function clean() {
141
+ console.log('Cleaning dist/ directory...');
141
142
  const distDir = (0, path_1.join)(projectDir, 'dist');
142
143
  const devconsoleDir = (0, path_1.join)(distDir, 'devconsole');
143
144
  const hasDevconsole = (0, fs_1.existsSync)(devconsoleDir);
@@ -237,8 +238,13 @@ cmdClean.__type = ['cmdClean', 'P$/!'];
237
238
  function cmdBuild(args) {
238
239
  const watch = args.includes('--watch');
239
240
  const tsconfig = extractTsconfigArg(args) ?? 'tsconfig.json';
241
+ if (isDevRunning()) {
242
+ console.log('Skipping clean due to running dev server.');
243
+ }
244
+ else {
245
+ clean();
246
+ }
240
247
  console.log('Building...');
241
- clean();
242
248
  if (watch) {
243
249
  const child = (0, child_process_1.spawn)(process.execPath, [tscPath, '-w', '--preserveWatchOutput', '-p', tsconfig], {
244
250
  stdio: 'inherit',
@@ -1 +1 @@
1
- {"version":3,"file":"dksf-dev.js","sourceRoot":"","sources":["../../../src/cli/dksf-dev.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dksf-dev.js","sourceRoot":"","sources":["../../../src/cli/dksf-dev.ts"],"names":[],"mappings":"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"}
@@ -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":";;;AAmDA,wDA6CC;;;;;;;+BAhGyB,eAAe;AACzC,4CAAyC;AACzC,sCAAyD;AACzD,gDAA+G;AAC/G,sCAA8C;AAC9C,wCAAqD;AAGrD,8CAAkD;AAClD,wCAA2C;AAC3C,qCAAwC;;;AAIxC,MAAM,WAAW,GAAG,6BAAkB,CAAC,SAAS,CAAC,GAAG,CAAC;AACrD,8DAA8D;AAC9D,6BAAkB,CAAC,SAAS,CAAC,GAAG,gBAAG,KAAK,WAAW,GAAW,EAAE,SAAgB,EAAE;IAC9E,MAAM,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;IAC1C,8DAA8D;IAC9D,OAAO,EAAE,YAAY,EAAG,IAAY,CAAC,OAAO,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAS,CAAC;AAC5E,CAAC,mDAAA,CAAC;AAEF,MAAa,uBAAwB,SAAQ,kCAA2B;IACpE,uBAAuB;QACnB,MAAM;QACN,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,mBAAmB,CAAC,QAAQ,CAAC,qBAAc,CAAC,GAAG,eAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YACvF,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACpC,CAAC,wCAAC,CAAC;QAEH,cAAc;QACd,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,mBAAmB,CAAC,YAAY,cACrD,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,YAAY,sCAChC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YACb,KAAK,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,QAAQ,sBAAsB,KAAK,CAAC,QAAQ,qCAAqC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC5H,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;QACvB,CAAC,wCACJ,CAAC;QAEF,gHAAgH;QAChH,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;YACjC,MAAM,MAAM,gBAAG,CAAC,CAAO,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,qBAAc,CAAC,KAAK,IAAI,CAAC,CAAC,SAAS,CAAC,IAAI,KAAK,MAAM,iCAAA,CAAC;YAC3F,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YAC3C,IAAI,CAAC,QAAQ,CAAC,OAAO,cAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,qBAAc,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,oBAAc,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,yBAAE,WAAW,CAAC,CAAC;QAC7H,CAAC;IACL,CAAC;;AAtBL,0DAuBC;;;;AAMD,SAAgB,sBAAsB,CAClC,MAAsC,EACtC,WAAsD,EAAE;;IAExD,YAAO,KAAM,SAAQ,qBAAqC;YACtD;gBACI,MAAM,SAAS,GAAG,IAAA,uBAAY,GAAE,CAAC;gBACjC,MAAM,YAAY,GAAG,SAAS,CAAC,OAAO,KAAK,YAAY,CAAC;gBAExD,MAAM,EAAE,gBAAgB,EAAE,GAAG,WAAW,EAAE,GAAG,MAAM,CAAC;gBAEpD,MAAM,OAAO,GAAG,IAAI,uBAAuB,CAAC;oBACxC,IAAI,EAAE,SAAS,CAAC,OAAO;oBACvB,IAAI,EAAE,SAAS,CAAC,OAAO;oBACvB,IAAI,EAAE,SAAS,CAAC,OAAO;oBACvB,QAAQ,EAAE,SAAS,CAAC,kBAAkB;oBACtC,QAAQ,EAAE,SAAS,CAAC,WAAW;oBAC/B,GAAG,EAAE,SAAS,CAAC,mBAAmB,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC7D,iBAAiB,EAAE,CAAC,SAAS,CAAC,uBAAuB,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;oBACxF,GAAG,WAAW;iBACjB,CAAC,CAAC;gBAEH,OAAO,CAAC,uBAAuB,EAAE,CAAC;gBAElC,IAAI,mBAAW,CAAC,kBAAkB,EAAE,CAAC;oBACjC,QAAQ,CAAC,IAAI,CAAC,GAAG,mBAAW,CAAC,kBAAkB,CAAC,CAAC;gBACrD,CAAC;gBAED,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;gBAEzB,IAAI,gBAAgB,EAAE,CAAC;oBACnB,IAAI,CAAC,UAAU,CACX;;;;sBAIE,CACL;yBACI,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,sEAAsE,CAAC,CAAC;yBACnG,KAAK,cAAC,GAAG,CAAC,EAAE;wBACT,IAAA,YAAC,EAAC,eAAM,CAAC,CAAC,KAAK,CAAC,mCAAmC,EAAE,GAAG,CAAC,CAAC;oBAC9D,CAAC,0BAAC,CAAC;gBACX,CAAC;YACL,CAAC;SACJ;;WAAC;AACN,CAAC"}
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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zyno-io/dk-server-foundation",
3
- "version": "26.216.436",
3
+ "version": "26.217.354",
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
 
@@ -131,6 +131,8 @@ function extractTsconfigArg(args: string[]): string | undefined {
131
131
  }
132
132
 
133
133
  function clean(): void {
134
+ console.log('Cleaning dist/ directory...');
135
+
134
136
  const distDir = join(projectDir, 'dist');
135
137
  const devconsoleDir = join(distDir, 'devconsole');
136
138
  const hasDevconsole = existsSync(devconsoleDir);
@@ -234,8 +236,12 @@ function cmdClean(): void {
234
236
  function cmdBuild(args: string[]): void {
235
237
  const watch = args.includes('--watch');
236
238
  const tsconfig = extractTsconfigArg(args) ?? 'tsconfig.json';
239
+ if (isDevRunning()) {
240
+ console.log('Skipping clean due to running dev server.');
241
+ } else {
242
+ clean();
243
+ }
237
244
  console.log('Building...');
238
- clean();
239
245
  if (watch) {
240
246
  const child = spawn(process.execPath, [tscPath, '-w', '--preserveWatchOutput', '-p', tsconfig], {
241
247
  stdio: 'inherit',
@@ -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
+ }