@engjts/nexus 0.1.7 → 0.1.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (259) hide show
  1. package/dist/advanced/playground/generatePlaygroundHTML.d.ts.map +1 -1
  2. package/dist/advanced/playground/generatePlaygroundHTML.js +107 -0
  3. package/dist/advanced/playground/generatePlaygroundHTML.js.map +1 -1
  4. package/dist/advanced/playground/playground.d.ts +19 -0
  5. package/dist/advanced/playground/playground.d.ts.map +1 -1
  6. package/dist/advanced/playground/playground.js +70 -0
  7. package/dist/advanced/playground/playground.js.map +1 -1
  8. package/dist/advanced/playground/types.d.ts +20 -0
  9. package/dist/advanced/playground/types.d.ts.map +1 -1
  10. package/dist/core/application.d.ts +14 -0
  11. package/dist/core/application.d.ts.map +1 -1
  12. package/dist/core/application.js +173 -71
  13. package/dist/core/application.js.map +1 -1
  14. package/dist/core/context-pool.d.ts +2 -13
  15. package/dist/core/context-pool.d.ts.map +1 -1
  16. package/dist/core/context-pool.js +7 -45
  17. package/dist/core/context-pool.js.map +1 -1
  18. package/dist/core/context.d.ts +108 -5
  19. package/dist/core/context.d.ts.map +1 -1
  20. package/dist/core/context.js +449 -53
  21. package/dist/core/context.js.map +1 -1
  22. package/dist/core/index.d.ts +1 -0
  23. package/dist/core/index.d.ts.map +1 -1
  24. package/dist/core/index.js +9 -1
  25. package/dist/core/index.js.map +1 -1
  26. package/dist/core/middleware.d.ts +6 -0
  27. package/dist/core/middleware.d.ts.map +1 -1
  28. package/dist/core/middleware.js +83 -84
  29. package/dist/core/middleware.js.map +1 -1
  30. package/dist/core/performance/fast-json.d.ts +149 -0
  31. package/dist/core/performance/fast-json.d.ts.map +1 -0
  32. package/dist/core/performance/fast-json.js +473 -0
  33. package/dist/core/performance/fast-json.js.map +1 -0
  34. package/dist/core/router/file-router.d.ts +20 -7
  35. package/dist/core/router/file-router.d.ts.map +1 -1
  36. package/dist/core/router/file-router.js +41 -13
  37. package/dist/core/router/file-router.js.map +1 -1
  38. package/dist/core/router/index.d.ts +6 -0
  39. package/dist/core/router/index.d.ts.map +1 -1
  40. package/dist/core/router/index.js +33 -6
  41. package/dist/core/router/index.js.map +1 -1
  42. package/dist/core/router/radix-tree.d.ts +4 -1
  43. package/dist/core/router/radix-tree.d.ts.map +1 -1
  44. package/dist/core/router/radix-tree.js +7 -3
  45. package/dist/core/router/radix-tree.js.map +1 -1
  46. package/dist/core/serializer.d.ts +251 -0
  47. package/dist/core/serializer.d.ts.map +1 -0
  48. package/dist/core/serializer.js +290 -0
  49. package/dist/core/serializer.js.map +1 -0
  50. package/dist/core/types.d.ts +39 -1
  51. package/dist/core/types.d.ts.map +1 -1
  52. package/dist/core/types.js.map +1 -1
  53. package/dist/index.d.ts +1 -0
  54. package/dist/index.d.ts.map +1 -1
  55. package/dist/index.js +12 -2
  56. package/dist/index.js.map +1 -1
  57. package/package.json +3 -1
  58. package/documentation/01-getting-started.md +0 -240
  59. package/documentation/02-context.md +0 -335
  60. package/documentation/03-routing.md +0 -397
  61. package/documentation/04-middleware.md +0 -483
  62. package/documentation/05-validation.md +0 -514
  63. package/documentation/06-error-handling.md +0 -465
  64. package/documentation/07-performance.md +0 -364
  65. package/documentation/08-adapters.md +0 -470
  66. package/documentation/09-api-reference.md +0 -548
  67. package/documentation/10-examples.md +0 -582
  68. package/documentation/11-deployment.md +0 -477
  69. package/documentation/12-sentry.md +0 -620
  70. package/documentation/13-sentry-data-storage.md +0 -996
  71. package/documentation/14-sentry-data-reference.md +0 -457
  72. package/documentation/15-sentry-summary.md +0 -409
  73. package/documentation/16-alerts-system.md +0 -745
  74. package/documentation/17-alert-adapters.md +0 -696
  75. package/documentation/18-alerts-implementation-summary.md +0 -385
  76. package/documentation/19-class-based-routing.md +0 -840
  77. package/documentation/20-websocket-realtime.md +0 -813
  78. package/documentation/21-cache-system.md +0 -510
  79. package/documentation/22-job-queue.md +0 -772
  80. package/documentation/23-sentry-plugin.md +0 -551
  81. package/documentation/24-testing-utilities.md +0 -1287
  82. package/documentation/25-api-versioning.md +0 -533
  83. package/documentation/26-context-store.md +0 -607
  84. package/documentation/27-dependency-injection.md +0 -329
  85. package/documentation/28-lifecycle-hooks.md +0 -521
  86. package/documentation/29-package-structure.md +0 -196
  87. package/documentation/30-plugin-system.md +0 -414
  88. package/documentation/31-jwt-authentication.md +0 -597
  89. package/documentation/32-cli.md +0 -268
  90. package/documentation/ALERTS-COMPLETE-SUMMARY.md +0 -429
  91. package/documentation/ALERTS-INDEX.md +0 -330
  92. package/documentation/ALERTS-QUICK-REFERENCE.md +0 -286
  93. package/documentation/README.md +0 -178
  94. package/documentation/index.html +0 -34
  95. package/modern_framework_paper.md +0 -1870
  96. package/public/css/style.css +0 -87
  97. package/public/index.html +0 -34
  98. package/public/js/app.js +0 -27
  99. package/src/advanced/cache/InMemoryCacheStore.ts +0 -68
  100. package/src/advanced/cache/MultiTierCache.ts +0 -194
  101. package/src/advanced/cache/RedisCacheStore.ts +0 -341
  102. package/src/advanced/cache/index.ts +0 -5
  103. package/src/advanced/cache/types.ts +0 -40
  104. package/src/advanced/graphql/SimpleDataLoader.ts +0 -42
  105. package/src/advanced/graphql/index.ts +0 -22
  106. package/src/advanced/graphql/server.ts +0 -252
  107. package/src/advanced/graphql/types.ts +0 -42
  108. package/src/advanced/jobs/InMemoryQueueStore.ts +0 -68
  109. package/src/advanced/jobs/JobQueue.ts +0 -556
  110. package/src/advanced/jobs/RedisQueueStore.ts +0 -367
  111. package/src/advanced/jobs/index.ts +0 -5
  112. package/src/advanced/jobs/types.ts +0 -70
  113. package/src/advanced/observability/APMManager.ts +0 -163
  114. package/src/advanced/observability/AlertManager.ts +0 -109
  115. package/src/advanced/observability/MetricRegistry.ts +0 -151
  116. package/src/advanced/observability/ObservabilityCenter.ts +0 -304
  117. package/src/advanced/observability/StructuredLogger.ts +0 -154
  118. package/src/advanced/observability/TracingManager.ts +0 -117
  119. package/src/advanced/observability/adapters.ts +0 -304
  120. package/src/advanced/observability/createObservabilityMiddleware.ts +0 -63
  121. package/src/advanced/observability/index.ts +0 -11
  122. package/src/advanced/observability/types.ts +0 -174
  123. package/src/advanced/playground/extractPathParams.ts +0 -6
  124. package/src/advanced/playground/generateFieldExample.ts +0 -31
  125. package/src/advanced/playground/generatePlaygroundHTML.ts +0 -1849
  126. package/src/advanced/playground/generateSummary.ts +0 -19
  127. package/src/advanced/playground/getTagFromPath.ts +0 -9
  128. package/src/advanced/playground/index.ts +0 -8
  129. package/src/advanced/playground/playground.ts +0 -170
  130. package/src/advanced/playground/types.ts +0 -20
  131. package/src/advanced/playground/zodToExample.ts +0 -16
  132. package/src/advanced/playground/zodToParams.ts +0 -15
  133. package/src/advanced/postman/buildAuth.ts +0 -31
  134. package/src/advanced/postman/buildBody.ts +0 -15
  135. package/src/advanced/postman/buildQueryParams.ts +0 -27
  136. package/src/advanced/postman/buildRequestItem.ts +0 -36
  137. package/src/advanced/postman/buildResponses.ts +0 -11
  138. package/src/advanced/postman/buildUrl.ts +0 -33
  139. package/src/advanced/postman/capitalize.ts +0 -4
  140. package/src/advanced/postman/generateCollection.ts +0 -59
  141. package/src/advanced/postman/generateEnvironment.ts +0 -34
  142. package/src/advanced/postman/generateExampleFromZod.ts +0 -21
  143. package/src/advanced/postman/generateFieldExample.ts +0 -45
  144. package/src/advanced/postman/generateName.ts +0 -20
  145. package/src/advanced/postman/generateUUID.ts +0 -11
  146. package/src/advanced/postman/getTagFromPath.ts +0 -10
  147. package/src/advanced/postman/index.ts +0 -28
  148. package/src/advanced/postman/postman.ts +0 -156
  149. package/src/advanced/postman/slugify.ts +0 -7
  150. package/src/advanced/postman/types.ts +0 -140
  151. package/src/advanced/realtime/index.ts +0 -18
  152. package/src/advanced/realtime/websocket.ts +0 -231
  153. package/src/advanced/sentry/index.ts +0 -1236
  154. package/src/advanced/sentry/types.ts +0 -355
  155. package/src/advanced/static/generateDirectoryListing.ts +0 -47
  156. package/src/advanced/static/generateETag.ts +0 -7
  157. package/src/advanced/static/getMimeType.ts +0 -9
  158. package/src/advanced/static/index.ts +0 -32
  159. package/src/advanced/static/isSafePath.ts +0 -13
  160. package/src/advanced/static/publicDir.ts +0 -21
  161. package/src/advanced/static/serveStatic.ts +0 -225
  162. package/src/advanced/static/spa.ts +0 -24
  163. package/src/advanced/static/types.ts +0 -159
  164. package/src/advanced/swagger/SwaggerGenerator.ts +0 -66
  165. package/src/advanced/swagger/buildOperation.ts +0 -61
  166. package/src/advanced/swagger/buildParameters.ts +0 -61
  167. package/src/advanced/swagger/buildRequestBody.ts +0 -21
  168. package/src/advanced/swagger/buildResponses.ts +0 -54
  169. package/src/advanced/swagger/capitalize.ts +0 -5
  170. package/src/advanced/swagger/convertPath.ts +0 -9
  171. package/src/advanced/swagger/createSwagger.ts +0 -12
  172. package/src/advanced/swagger/generateOperationId.ts +0 -21
  173. package/src/advanced/swagger/generateSpec.ts +0 -105
  174. package/src/advanced/swagger/generateSummary.ts +0 -24
  175. package/src/advanced/swagger/generateSwaggerUI.ts +0 -70
  176. package/src/advanced/swagger/generateThemeCss.ts +0 -53
  177. package/src/advanced/swagger/index.ts +0 -25
  178. package/src/advanced/swagger/swagger.ts +0 -237
  179. package/src/advanced/swagger/types.ts +0 -206
  180. package/src/advanced/swagger/zodFieldToOpenAPI.ts +0 -94
  181. package/src/advanced/swagger/zodSchemaToOpenAPI.ts +0 -50
  182. package/src/advanced/swagger/zodToOpenAPI.ts +0 -22
  183. package/src/advanced/testing/factory.ts +0 -509
  184. package/src/advanced/testing/harness.ts +0 -612
  185. package/src/advanced/testing/index.ts +0 -430
  186. package/src/advanced/testing/load-test.ts +0 -618
  187. package/src/advanced/testing/mock-server.ts +0 -498
  188. package/src/advanced/testing/mock.ts +0 -670
  189. package/src/cli/bin.ts +0 -9
  190. package/src/cli/cli.ts +0 -158
  191. package/src/cli/commands/add.ts +0 -178
  192. package/src/cli/commands/build.ts +0 -73
  193. package/src/cli/commands/create.ts +0 -166
  194. package/src/cli/commands/dev.ts +0 -85
  195. package/src/cli/commands/generate.ts +0 -99
  196. package/src/cli/commands/help.ts +0 -95
  197. package/src/cli/commands/init.ts +0 -91
  198. package/src/cli/commands/version.ts +0 -38
  199. package/src/cli/index.ts +0 -6
  200. package/src/cli/templates/generators.ts +0 -359
  201. package/src/cli/templates/index.ts +0 -680
  202. package/src/cli/utils/exec.ts +0 -52
  203. package/src/cli/utils/file-system.ts +0 -78
  204. package/src/cli/utils/logger.ts +0 -111
  205. package/src/core/adapter.ts +0 -88
  206. package/src/core/application.ts +0 -1335
  207. package/src/core/context-pool.ts +0 -127
  208. package/src/core/context.ts +0 -412
  209. package/src/core/index.ts +0 -80
  210. package/src/core/middleware.ts +0 -262
  211. package/src/core/performance/buffer-pool.ts +0 -108
  212. package/src/core/performance/middleware-optimizer.ts +0 -162
  213. package/src/core/plugin/PluginManager.ts +0 -435
  214. package/src/core/plugin/builder.ts +0 -358
  215. package/src/core/plugin/index.ts +0 -50
  216. package/src/core/plugin/types.ts +0 -214
  217. package/src/core/router/file-router.ts +0 -594
  218. package/src/core/router/index.ts +0 -227
  219. package/src/core/router/radix-tree.ts +0 -226
  220. package/src/core/store/index.ts +0 -30
  221. package/src/core/store/registry.ts +0 -178
  222. package/src/core/store/request-store.ts +0 -240
  223. package/src/core/store/types.ts +0 -233
  224. package/src/core/types.ts +0 -574
  225. package/src/database/adapter.ts +0 -35
  226. package/src/database/adapters/index.ts +0 -1
  227. package/src/database/adapters/mysql.ts +0 -669
  228. package/src/database/database.ts +0 -70
  229. package/src/database/dialect.ts +0 -388
  230. package/src/database/index.ts +0 -12
  231. package/src/database/migrations.ts +0 -86
  232. package/src/database/optimizer.ts +0 -125
  233. package/src/database/query-builder.ts +0 -404
  234. package/src/database/realtime.ts +0 -53
  235. package/src/database/schema.ts +0 -71
  236. package/src/database/transactions.ts +0 -56
  237. package/src/database/types.ts +0 -87
  238. package/src/deployment/cluster.ts +0 -471
  239. package/src/deployment/config.ts +0 -454
  240. package/src/deployment/docker.ts +0 -599
  241. package/src/deployment/graceful-shutdown.ts +0 -373
  242. package/src/deployment/index.ts +0 -56
  243. package/src/index.ts +0 -264
  244. package/src/security/adapter.ts +0 -318
  245. package/src/security/auth/JWTPlugin.ts +0 -234
  246. package/src/security/auth/JWTProvider.ts +0 -316
  247. package/src/security/auth/adapter.ts +0 -12
  248. package/src/security/auth/jwt.ts +0 -234
  249. package/src/security/auth/middleware.ts +0 -188
  250. package/src/security/csrf.ts +0 -220
  251. package/src/security/headers.ts +0 -108
  252. package/src/security/index.ts +0 -60
  253. package/src/security/rate-limit/adapter.ts +0 -7
  254. package/src/security/rate-limit/memory.ts +0 -108
  255. package/src/security/rate-limit/middleware.ts +0 -181
  256. package/src/security/sanitization.ts +0 -75
  257. package/src/security/types.ts +0 -240
  258. package/src/security/utils.ts +0 -52
  259. package/tsconfig.json +0 -39
@@ -885,124 +885,181 @@ class Application {
885
885
  }
886
886
  /**
887
887
  * Handle incoming HTTP request
888
+ * Optimized hot path for maximum performance
888
889
  */
889
890
  async handleRequest(req, res) {
890
- let ctx = null;
891
- let response = null;
891
+ // Use non-null assertion - context pool always returns valid context
892
+ // acquire is now sync for better performance
893
+ const ctx = this.contextPool.acquire(req, res);
892
894
  try {
893
- // Acquire context from pool
894
- ctx = await this.contextPool.acquire(req, res);
895
- // Inject store registry into context
896
- if ('setStoreRegistry' in ctx && typeof ctx.setStoreRegistry === 'function') {
897
- ctx.setStoreRegistry(this.storeRegistry);
898
- }
899
- // Set debug mode for request stores
900
- if ('setDebugMode' in ctx && typeof ctx.setDebugMode === 'function') {
901
- ctx.setDebugMode(this.config.debug ?? false);
902
- }
903
- // === HOOK: onRequest ===
895
+ // Direct method calls - ContextImpl always has these methods
896
+ ctx.setStoreRegistry(this.storeRegistry);
897
+ ctx.setDebugMode(this.config.debug ?? false);
898
+ // === HOOK: onRequest (skip check if no hooks) ===
904
899
  if (this.lifecycleHooks.onRequest) {
905
900
  const hookResult = await this.lifecycleHooks.onRequest(ctx);
906
- if (this.isResponse(hookResult)) {
901
+ if (hookResult && typeof hookResult === 'object' && 'statusCode' in hookResult) {
907
902
  await this.sendResponse(res, hookResult, ctx);
903
+ this.cleanupRequest(ctx);
908
904
  return;
909
905
  }
910
906
  }
911
- // Apply versioning if configured
907
+ // Fast path: no versioning configured (most common)
912
908
  let matchPath = ctx.path;
913
909
  if (this.versioningConfig) {
914
910
  const { version, basePath, source } = this.resolveVersion(ctx);
915
911
  ctx.version = version;
916
912
  ctx.versionSource = source;
917
- // For header/query strategy, rewrite path to versioned path
918
- if (source === 'header' || source === 'query' || source === 'default') {
913
+ if (source !== 'path') {
919
914
  matchPath = `/${version}${basePath.startsWith('/') ? basePath : '/' + basePath}`;
920
915
  }
921
- if (this.config.debug) {
922
- console.log(`[Versioning] ${source} → ${version}, path: ${ctx.path} → ${matchPath}`);
923
- }
924
916
  }
925
917
  // Find matching route
926
918
  const match = this.router.match(ctx.method, matchPath);
927
919
  if (!match) {
928
- // Try fallback handler (e.g., static files)
920
+ // Try fallback handler
929
921
  if (this.fallbackHandler) {
930
922
  const fallbackResponse = await this.fallbackHandler(ctx, this.dependencies);
931
923
  await this.sendResponse(res, fallbackResponse, ctx);
924
+ this.cleanupRequest(ctx);
932
925
  return;
933
926
  }
934
- // 404 Not Found
935
- await this.sendResponse(res, {
936
- statusCode: 404,
937
- headers: { 'Content-Type': 'application/json' },
938
- body: JSON.stringify({ error: 'Not Found' })
939
- }, ctx);
927
+ // 404 Not Found - use cached response
928
+ res.writeHead(404, { 'Content-Type': 'application/json' });
929
+ res.end('{"error":"Not Found"}');
930
+ this.cleanupRequest(ctx);
940
931
  return;
941
932
  }
942
- // Set route params
943
- if ('setParams' in ctx && typeof ctx.setParams === 'function') {
944
- ctx.setParams(match.params);
933
+ // Set route params directly
934
+ ctx.params = match.params;
935
+ // Set serializers for fast JSON response if available
936
+ if (match._serializer) {
937
+ ctx.setSerializers(match._serializer);
938
+ }
939
+ // Auto-parse body for POST/PUT/PATCH if body exists
940
+ // This maintains backwards compatibility while keeping lazy-loading for GET
941
+ const method = ctx.method;
942
+ if (method === 'POST' || method === 'PUT' || method === 'PATCH') {
943
+ // Only parse if there's actually a body (Content-Length > 0 or Transfer-Encoding)
944
+ const contentLength = req.headers['content-length'];
945
+ const transferEncoding = req.headers['transfer-encoding'];
946
+ const hasBody = (contentLength && contentLength !== '0') || transferEncoding;
947
+ if (hasBody) {
948
+ await ctx.getBody();
949
+ }
950
+ }
951
+ // Fast path: no middleware
952
+ let response;
953
+ if (this.globalMiddlewares.length === 0 && match.middlewares.length === 0) {
954
+ // Direct handler execution (skip middleware executor)
955
+ response = await this.executeHandlerDirect(ctx, match.handler);
945
956
  }
946
957
  else {
947
- ctx.params = match.params;
958
+ // Combine global and route-specific middleware
959
+ const allMiddlewares = this.globalMiddlewares.length === 0
960
+ ? match.middlewares
961
+ : match.middlewares.length === 0
962
+ ? this.globalMiddlewares
963
+ : [...this.globalMiddlewares, ...match.middlewares];
964
+ // Execute middleware chain and handler with hooks
965
+ response = await this.middlewareExecutor.executeWithHooks(ctx, allMiddlewares, match.handler, this.lifecycleHooks, this.dependencies);
948
966
  }
949
- // Combine global and route-specific middleware
950
- const allMiddlewares = [...this.globalMiddlewares, ...match.middlewares];
951
- // Execute middleware chain and handler with hooks
952
- response = await this.middlewareExecutor.executeWithHooks(ctx, allMiddlewares, match.handler, this.lifecycleHooks, this.dependencies);
953
967
  // === HOOK: onResponse ===
954
968
  if (this.lifecycleHooks.onResponse) {
955
969
  const hookResult = await this.lifecycleHooks.onResponse(ctx, response);
956
- if (this.isResponse(hookResult)) {
970
+ if (hookResult && typeof hookResult === 'object' && 'statusCode' in hookResult) {
957
971
  response = hookResult;
958
972
  }
959
973
  }
960
974
  // Send response
961
975
  await this.sendResponse(res, response, ctx);
976
+ this.cleanupRequest(ctx);
962
977
  }
963
978
  catch (error) {
979
+ await this.handleError(error, ctx, res);
980
+ }
981
+ }
982
+ /**
983
+ * Execute handler directly without middleware (fast path)
984
+ */
985
+ async executeHandlerDirect(ctx, handler) {
986
+ // === HOOK: beforeHandler ===
987
+ if (this.lifecycleHooks.beforeHandler) {
988
+ const hookResult = await this.lifecycleHooks.beforeHandler(ctx);
989
+ if (hookResult && typeof hookResult === 'object' && 'statusCode' in hookResult) {
990
+ return hookResult;
991
+ }
992
+ }
993
+ let result = await handler(ctx, this.dependencies);
994
+ // If handler returns an Error, throw it
995
+ if (result instanceof Error) {
996
+ result._isIntentional = true;
997
+ throw result;
998
+ }
999
+ // === HOOK: afterHandler ===
1000
+ if (this.lifecycleHooks.afterHandler) {
1001
+ const transformedResult = await this.lifecycleHooks.afterHandler(ctx, result);
1002
+ if (transformedResult !== undefined) {
1003
+ result = transformedResult;
1004
+ }
1005
+ }
1006
+ // If result is a Response, return it
1007
+ if (result && typeof result === 'object' && 'statusCode' in result && 'body' in result) {
1008
+ return result;
1009
+ }
1010
+ // Otherwise, wrap in JSON response
1011
+ return ctx.json(result);
1012
+ }
1013
+ /**
1014
+ * Cleanup request resources
1015
+ */
1016
+ cleanupRequest(ctx) {
1017
+ // Dispose request-scoped stores
1018
+ if (ctx.disposeRequestStores) {
1019
+ ctx.disposeRequestStores();
1020
+ }
1021
+ // Release context back to pool
1022
+ this.contextPool.release(ctx);
1023
+ }
1024
+ /**
1025
+ * Handle errors
1026
+ */
1027
+ async handleError(error, ctx, res) {
1028
+ try {
964
1029
  // === HOOK: onError ===
965
1030
  if (ctx && this.lifecycleHooks.onError) {
966
1031
  try {
967
1032
  const hookResult = await this.lifecycleHooks.onError(ctx, error);
968
- if (this.isResponse(hookResult)) {
1033
+ if (hookResult && typeof hookResult === 'object' && 'statusCode' in hookResult) {
969
1034
  await this.sendResponse(res, hookResult, ctx);
1035
+ this.cleanupRequest(ctx);
970
1036
  return;
971
1037
  }
972
1038
  }
973
1039
  catch (hookError) {
974
- // Hook itself threw an error, continue to default error handler
975
1040
  console.error('onError hook failed:', hookError);
976
1041
  }
977
1042
  }
978
1043
  // Handle errors with default error handler
979
- try {
980
- const errorResponse = await this.errorHandler(error, ctx);
981
- // === HOOK: onResponse (for error responses) ===
982
- if (ctx && this.lifecycleHooks.onResponse) {
983
- const hookResult = await this.lifecycleHooks.onResponse(ctx, errorResponse);
984
- if (this.isResponse(hookResult)) {
985
- await this.sendResponse(res, hookResult, ctx);
986
- return;
987
- }
1044
+ const errorResponse = await this.errorHandler(error, ctx);
1045
+ // === HOOK: onResponse (for error responses) ===
1046
+ if (ctx && this.lifecycleHooks.onResponse) {
1047
+ const hookResult = await this.lifecycleHooks.onResponse(ctx, errorResponse);
1048
+ if (hookResult && typeof hookResult === 'object' && 'statusCode' in hookResult) {
1049
+ await this.sendResponse(res, hookResult, ctx);
1050
+ this.cleanupRequest(ctx);
1051
+ return;
988
1052
  }
989
- await this.sendResponse(res, errorResponse, ctx);
990
- }
991
- catch (handlerError) {
992
- // Fallback error response
993
- res.writeHead(500, { 'Content-Type': 'text/plain' });
994
- res.end('Internal Server Error');
995
1053
  }
1054
+ await this.sendResponse(res, errorResponse, ctx);
996
1055
  }
997
- finally {
998
- // Dispose request-scoped stores
999
- if (ctx && 'disposeRequestStores' in ctx && typeof ctx.disposeRequestStores === 'function') {
1000
- ctx.disposeRequestStores();
1001
- }
1002
- // Release context back to pool
1003
- if (ctx) {
1004
- this.contextPool.release(ctx);
1005
- }
1056
+ catch (handlerError) {
1057
+ // Fallback error response
1058
+ res.writeHead(500, { 'Content-Type': 'text/plain' });
1059
+ res.end('Internal Server Error');
1060
+ }
1061
+ if (ctx) {
1062
+ this.cleanupRequest(ctx);
1006
1063
  }
1007
1064
  }
1008
1065
  /**
@@ -1017,12 +1074,59 @@ class Application {
1017
1074
  }
1018
1075
  /**
1019
1076
  * Send HTTP response
1077
+ * Optimized for minimal overhead - key for benchmark performance
1020
1078
  */
1021
1079
  async sendResponse(res, response, ctx) {
1022
- // Set status code
1080
+ // Handle stream responses separately
1081
+ if (response.stream) {
1082
+ res.statusCode = response.statusCode;
1083
+ const headers = response.headers;
1084
+ for (const key in headers) {
1085
+ const value = headers[key];
1086
+ if (value !== undefined) {
1087
+ res.setHeader(key, value);
1088
+ }
1089
+ }
1090
+ response.stream.pipe(res);
1091
+ return;
1092
+ }
1093
+ const body = response.body;
1094
+ const headers = response.headers;
1095
+ // Fast path for JSON responses (most common case)
1096
+ // Use writeHead for single syscall instead of multiple setHeader calls
1097
+ if (headers['Content-Type'] === 'application/json') {
1098
+ // Calculate content length for proper HTTP behavior
1099
+ const contentLength = Buffer.byteLength(body, 'utf8');
1100
+ // Check if we need to set cookies
1101
+ let setCookies = null;
1102
+ if ('getSetCookieHeaders' in ctx && typeof ctx.getSetCookieHeaders === 'function') {
1103
+ const cookies = ctx.getSetCookieHeaders();
1104
+ if (cookies.length > 0) {
1105
+ setCookies = cookies;
1106
+ }
1107
+ }
1108
+ // Single writeHead call for all headers
1109
+ if (setCookies) {
1110
+ res.writeHead(response.statusCode, {
1111
+ 'Content-Type': 'application/json',
1112
+ 'Content-Length': contentLength,
1113
+ 'Set-Cookie': setCookies
1114
+ });
1115
+ }
1116
+ else {
1117
+ res.writeHead(response.statusCode, {
1118
+ 'Content-Type': 'application/json',
1119
+ 'Content-Length': contentLength
1120
+ });
1121
+ }
1122
+ res.end(body);
1123
+ return;
1124
+ }
1125
+ // General path for other response types
1023
1126
  res.statusCode = response.statusCode;
1024
- // Set headers
1025
- for (const [key, value] of Object.entries(response.headers)) {
1127
+ // Set headers using for-in (faster than Object.entries)
1128
+ for (const key in headers) {
1129
+ const value = headers[key];
1026
1130
  if (value !== undefined) {
1027
1131
  res.setHeader(key, value);
1028
1132
  }
@@ -1034,13 +1138,11 @@ class Application {
1034
1138
  res.setHeader('Set-Cookie', setCookies);
1035
1139
  }
1036
1140
  }
1037
- // Send body or stream
1038
- if (response.stream) {
1039
- response.stream.pipe(res);
1040
- }
1041
- else {
1042
- res.end(response.body);
1141
+ // Set Content-Length for non-stream responses
1142
+ if (body && typeof body === 'string') {
1143
+ res.setHeader('Content-Length', Buffer.byteLength(body, 'utf8'));
1043
1144
  }
1145
+ res.end(body);
1044
1146
  }
1045
1147
  /**
1046
1148
  * Get all registered routes
@@ -1 +1 @@
1
- {"version":3,"file":"application.js","sourceRoot":"","sources":["../../src/core/application.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"application.js","sourceRoot":"","sources":["../../src/core/application.ts"],"names":[],"mappings":"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"}
@@ -16,24 +16,13 @@ export declare class ContextPool {
16
16
  constructor(maxSize?: number);
17
17
  /**
18
18
  * Acquire a context from the pool or create a new one
19
+ * Body parsing is now lazy - handlers should use ctx.getBody() for POST/PUT/PATCH
19
20
  */
20
- acquire(req: IncomingMessage, res: ServerResponse): Promise<Context>;
21
+ acquire(req: IncomingMessage, res: ServerResponse): Context;
21
22
  /**
22
23
  * Release a context back to the pool
23
24
  */
24
25
  release(ctx: Context): void;
25
- /**
26
- * Reset context for reuse
27
- */
28
- private reset;
29
- /**
30
- * Clear sensitive data from context
31
- */
32
- private clearContext;
33
- /**
34
- * Check if request has a body
35
- */
36
- private hasBody;
37
26
  /**
38
27
  * Get pool statistics
39
28
  */
@@ -1 +1 @@
1
- {"version":3,"file":"context-pool.d.ts","sourceRoot":"","sources":["../../src/core/context-pool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAEvD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC;;;GAGG;AACH,qBAAa,WAAW;IACpB,OAAO,CAAC,IAAI,CAAqB;IACjC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAa;IAC5B,OAAO,CAAC,MAAM,CAAa;gBAEf,OAAO,GAAE,MAAY;IAIjC;;OAEG;IACG,OAAO,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IAuB1E;;OAEG;IACH,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAS3B;;OAEG;YACW,KAAK;IAYnB;;OAEG;IACH,OAAO,CAAC,YAAY;IAoBpB;;OAEG;IACH,OAAO,CAAC,OAAO;IAKf;;OAEG;IACH,QAAQ;;;;;;;IAUR;;OAEG;IACH,KAAK,IAAI,IAAI;CAGhB"}
1
+ {"version":3,"file":"context-pool.d.ts","sourceRoot":"","sources":["../../src/core/context-pool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAEvD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC;;;GAGG;AACH,qBAAa,WAAW;IACpB,OAAO,CAAC,IAAI,CAAqB;IACjC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAa;IAC5B,OAAO,CAAC,MAAM,CAAa;gBAEf,OAAO,GAAE,MAAY;IAIjC;;;OAGG;IACH,OAAO,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO;IAqB3D;;OAEG;IACH,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAQ3B;;OAEG;IACH,QAAQ;;;;;;;IAUR;;OAEG;IACH,KAAK,IAAI,IAAI;CAGhB"}
@@ -20,25 +20,24 @@ class ContextPool {
20
20
  }
21
21
  /**
22
22
  * Acquire a context from the pool or create a new one
23
+ * Body parsing is now lazy - handlers should use ctx.getBody() for POST/PUT/PATCH
23
24
  */
24
- async acquire(req, res) {
25
+ acquire(req, res) {
25
26
  let ctx;
26
27
  // Try to reuse from pool
27
28
  if (this.pool.length > 0) {
28
29
  ctx = this.pool.pop();
29
30
  this.reused++;
30
- await this.reset(ctx, req, res);
31
+ // Use reinitialize instead of creating new object
32
+ ctx.reinitialize(req, res);
31
33
  }
32
34
  else {
33
35
  // Create new context
34
36
  ctx = new context_1.ContextImpl(req, res);
35
37
  this.created++;
36
38
  }
37
- // Parse body if applicable
38
- if (this.hasBody(req)) {
39
- const body = await (0, context_1.parseBody)(req);
40
- ctx.setBody(body);
41
- }
39
+ // Body parsing removed - now lazy via ctx.getBody()
40
+ // This matches Fastify's architecture for optimal POST performance
42
41
  return ctx;
43
42
  }
44
43
  /**
@@ -46,48 +45,11 @@ class ContextPool {
46
45
  */
47
46
  release(ctx) {
48
47
  if (this.pool.length < this.maxSize) {
49
- // Clear sensitive data before pooling
50
- this.clearContext(ctx);
48
+ // Just push back - reinitialize will handle reset
51
49
  this.pool.push(ctx);
52
50
  }
53
51
  // If pool is full, let GC handle it
54
52
  }
55
- /**
56
- * Reset context for reuse
57
- */
58
- async reset(ctx, req, res) {
59
- // Recreate the context with new request/response
60
- const newCtx = new context_1.ContextImpl(req, res);
61
- // Copy properties
62
- Object.assign(ctx, newCtx);
63
- }
64
- /**
65
- * Clear sensitive data from context
66
- */
67
- clearContext(ctx) {
68
- ctx.params = {};
69
- ctx.query = {};
70
- ctx.body = null;
71
- // Clear custom properties added by middleware
72
- const knownProps = new Set([
73
- 'method', 'path', 'url', 'params', 'query', 'body',
74
- 'headers', 'cookies', 'raw', 'response',
75
- 'json', 'html', 'text', 'redirect', 'stream',
76
- 'setParams', 'setBody', 'getSetCookieHeaders'
77
- ]);
78
- for (const key in ctx) {
79
- if (!knownProps.has(key)) {
80
- delete ctx[key];
81
- }
82
- }
83
- }
84
- /**
85
- * Check if request has a body
86
- */
87
- hasBody(req) {
88
- const method = req.method?.toUpperCase();
89
- return method === 'POST' || method === 'PUT' || method === 'PATCH';
90
- }
91
53
  /**
92
54
  * Get pool statistics
93
55
  */
@@ -1 +1 @@
1
- {"version":3,"file":"context-pool.js","sourceRoot":"","sources":["../../src/core/context-pool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context-pool.js","sourceRoot":"","sources":["../../src/core/context-pool.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAGH,uCAAwC;AAGxC;;;GAGG;AACH,MAAa,WAAW;IACZ,IAAI,GAAkB,EAAE,CAAC;IACzB,OAAO,CAAS;IAChB,OAAO,GAAW,CAAC,CAAC;IACpB,MAAM,GAAW,CAAC,CAAC;IAE3B,YAAY,UAAkB,GAAG;QAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IAED;;;OAGG;IACH,OAAO,CAAC,GAAoB,EAAE,GAAmB;QAC7C,IAAI,GAAgB,CAAC;QAErB,yBAAyB;QACzB,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAG,CAAC;YACvB,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,kDAAkD;YAClD,GAAG,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC/B,CAAC;aAAM,CAAC;YACJ,qBAAqB;YACrB,GAAG,GAAG,IAAI,qBAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAChC,IAAI,CAAC,OAAO,EAAE,CAAC;QACnB,CAAC;QAED,oDAAoD;QACpD,mEAAmE;QAEnE,OAAO,GAAG,CAAC;IACf,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,GAAY;QAChB,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,kDAAkD;YAClD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAkB,CAAC,CAAC;QACvC,CAAC;QACD,oCAAoC;IACxC,CAAC;IAED;;OAEG;IACH,QAAQ;QACJ,OAAO;YACH,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM;YAC1B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO,EAAE,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;SAC7E,CAAC;IACN,CAAC;IAED;;OAEG;IACH,KAAK;QACD,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;IACnB,CAAC;CACJ;AAjED,kCAiEC"}