quantum-flow 1.21.0 → 2.0.0

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 (99) hide show
  1. package/README.md +13 -12
  2. package/dist/app/aws/lambda.js +15 -18
  3. package/dist/app/aws/lambda.js.map +1 -1
  4. package/dist/app/http/Application.d.ts +2 -3
  5. package/dist/app/http/Application.js +70 -118
  6. package/dist/app/http/Application.js.map +1 -1
  7. package/dist/app/http/index.d.ts +0 -1
  8. package/dist/app/http/index.js.map +1 -1
  9. package/dist/app/plugin.js +2 -2
  10. package/dist/app/plugin.js.map +1 -1
  11. package/dist/core/Controller.d.ts +10 -5
  12. package/dist/core/Controller.js +33 -120
  13. package/dist/core/Controller.js.map +1 -1
  14. package/dist/core/index.d.ts +1 -1
  15. package/dist/core/index.js.map +1 -1
  16. package/dist/types/common.d.ts +15 -52
  17. package/dist/types/common.js.map +1 -1
  18. package/dist/types/controller.d.ts +3 -2
  19. package/dist/types/error.d.ts +4 -0
  20. package/dist/types/error.js.map +1 -1
  21. package/dist/types/http.d.ts +6 -11
  22. package/dist/types/index.d.ts +2 -0
  23. package/dist/types/index.js +2 -0
  24. package/dist/types/index.js.map +1 -1
  25. package/dist/types/lambda.d.ts +2 -1
  26. package/dist/types/plugins.d.ts +4 -3
  27. package/dist/types/request.d.ts +65 -0
  28. package/dist/types/request.js +3 -0
  29. package/dist/types/request.js.map +1 -0
  30. package/dist/types/response.d.ts +49 -0
  31. package/dist/types/response.js +3 -0
  32. package/dist/types/response.js.map +1 -0
  33. package/dist/utils/controller.d.ts +5 -6
  34. package/dist/utils/controller.js +7 -9
  35. package/dist/utils/controller.js.map +1 -1
  36. package/dist/utils/cors.d.ts +2 -2
  37. package/dist/utils/cors.js.map +1 -1
  38. package/dist/utils/error/apperror.d.ts +4 -7
  39. package/dist/utils/error/apperror.js +10 -13
  40. package/dist/utils/error/apperror.js.map +1 -1
  41. package/dist/utils/error/dependencyFailed.d.ts +7 -0
  42. package/dist/utils/error/dependencyFailed.js +17 -0
  43. package/dist/utils/error/dependencyFailed.js.map +1 -0
  44. package/dist/utils/error/duplicateEntry.d.ts +7 -0
  45. package/dist/utils/error/duplicateEntry.js +17 -0
  46. package/dist/utils/error/duplicateEntry.js.map +1 -0
  47. package/dist/utils/error/forbidden.d.ts +7 -0
  48. package/dist/utils/error/forbidden.js +17 -0
  49. package/dist/utils/error/forbidden.js.map +1 -0
  50. package/dist/utils/error/index.d.ts +6 -0
  51. package/dist/utils/error/index.js +6 -0
  52. package/dist/utils/error/index.js.map +1 -1
  53. package/dist/utils/error/invalidState.d.ts +7 -0
  54. package/dist/utils/error/invalidState.js +17 -0
  55. package/dist/utils/error/invalidState.js.map +1 -0
  56. package/dist/utils/error/rateLimit.d.ts +7 -0
  57. package/dist/utils/error/rateLimit.js +17 -0
  58. package/dist/utils/error/rateLimit.js.map +1 -0
  59. package/dist/utils/error/serviceUnavailable.d.ts +7 -0
  60. package/dist/utils/error/serviceUnavailable.js +17 -0
  61. package/dist/utils/error/serviceUnavailable.js.map +1 -0
  62. package/dist/utils/headers.d.ts +2 -2
  63. package/dist/utils/headers.js.map +1 -1
  64. package/dist/utils/index.d.ts +3 -0
  65. package/dist/utils/index.js +3 -0
  66. package/dist/utils/index.js.map +1 -1
  67. package/dist/utils/lambda.d.ts +2 -1
  68. package/dist/utils/lambda.js +28 -48
  69. package/dist/utils/lambda.js.map +1 -1
  70. package/dist/utils/parsers.d.ts +3 -1
  71. package/dist/utils/parsers.js +106 -23
  72. package/dist/utils/parsers.js.map +1 -1
  73. package/dist/utils/request/factory.d.ts +18 -0
  74. package/dist/utils/request/factory.js +141 -0
  75. package/dist/utils/request/factory.js.map +1 -0
  76. package/dist/utils/request/helpers.d.ts +3 -0
  77. package/dist/utils/request/helpers.js +35 -0
  78. package/dist/utils/request/helpers.js.map +1 -0
  79. package/dist/utils/request/index.d.ts +2 -0
  80. package/dist/utils/request/index.js +19 -0
  81. package/dist/utils/request/index.js.map +1 -0
  82. package/dist/utils/request/request.d.ts +103 -0
  83. package/dist/utils/request/request.js +218 -0
  84. package/dist/utils/request/request.js.map +1 -0
  85. package/dist/utils/response/factory.d.ts +13 -0
  86. package/dist/utils/response/factory.js +20 -0
  87. package/dist/utils/response/factory.js.map +1 -0
  88. package/dist/utils/response/index.d.ts +2 -0
  89. package/dist/utils/response/index.js +19 -0
  90. package/dist/utils/response/index.js.map +1 -0
  91. package/dist/utils/response/response.d.ts +46 -0
  92. package/dist/utils/response/response.js +269 -0
  93. package/dist/utils/response/response.js.map +1 -0
  94. package/dist/utils/routeWalker.d.ts +2 -0
  95. package/dist/utils/routeWalker.js +115 -0
  96. package/dist/utils/routeWalker.js.map +1 -0
  97. package/dist/utils/sanitize.d.ts +2 -2
  98. package/dist/utils/sanitize.js.map +1 -1
  99. package/package.json +1 -1
package/README.md CHANGED
@@ -45,6 +45,8 @@ import {
45
45
  Response,
46
46
  Status,
47
47
  ANY,
48
+ IRequest,
49
+ IResponse
48
50
  } from 'quantum-flow/core';
49
51
  import {IsString} from 'class-validator'
50
52
  import { Catch, Cors, Sanitize, Use, SANITIZER } from 'quantum-flow/middlewares';
@@ -81,8 +83,8 @@ export class User {
81
83
  @Query() query: Record<string, string | string[]>,
82
84
  @Headers() headers: Record<string, string | string[]>,
83
85
  @Params(ParamDTO, 'param') params: string,
84
- @Request() req: HttpRequest,
85
- @Response() resp: ServerResponse,
86
+ @Request() req: IResponse,
87
+ @Response() resp: IRequest,
86
88
  @InjectWS() ws: IWebSocketService,
87
89
  ) {}
88
90
 
@@ -148,7 +150,7 @@ Use `LambdaAdapter` to convert API Gateway events to requests and responses. Cre
148
150
  ```typescript
149
151
  Example Lambda handler creation
150
152
  import { LambdaAdapter, LambdaRequest, LambdaResponse } from 'quantum-flow/aws';
151
- import { Request, Query, Headers, Params, Response } from 'quantum-flow/core'
153
+ import { Request, Query, Headers, Params, Response, IResponse, IRequest } from 'quantum-flow/core'
152
154
 
153
155
  @Controller({ prefix: 'user' })
154
156
  class UserController {
@@ -156,8 +158,8 @@ class UserController {
156
158
  @Query() query: Record<string, string | string[]>,
157
159
  @Headers() headers: Record<string, string | string[]>,
158
160
  @Params(ParamDTO, 'param') params: string,
159
- @Request() req: LambdaRequest,
160
- @Response() res: LambdaResponse
161
+ @Request() req: IRequest,
162
+ @Response() res: IResponse
161
163
  ) { }
162
164
  }
163
165
  const lambdaAdapter = new LambdaAdapter(UserController);
@@ -175,12 +177,12 @@ Enable WebSocket in the server configuration and register WebSocket controllers.
175
177
 
176
178
  ## Enabling WebSocket Support in Server
177
179
 
178
- To enable WS support, configure your HTTP server with the `enabled: true` option and register controllers that use SSE.
180
+ To enable WS support, configure your HTTP server with the `path: string` option and register controllers that use SSE.
179
181
 
180
182
  Example server setup:
181
183
 
182
184
  ```typescript
183
- @Server( {websocketPath:'/ws', websocket: { enabled: true } })
185
+ @Server( { websocket: { path:'/ws' } })
184
186
  ```
185
187
 
186
188
  ## Injecting WebSocket events in Controller
@@ -308,19 +310,19 @@ import { OnSSEConnection, OnSSEError, OnSSEClose } from 'quantum-flow/sse';
308
310
  @Controller('user')
309
311
  export class User {
310
312
  @OnSSEConnection()
311
- async onsseconnection(@Request() req: any, @Response() res: any) {
313
+ async onsseconnection(@Request() req, @Response() res) {
312
314
  console.log('SSE connection established');
313
315
  return req.body;
314
316
  }
315
317
 
316
318
  @OnSSEError()
317
- async onsseerror(@Request() req: any, @Response() res: any) {
319
+ async onsseerror(@Request() req, @Response() res) {
318
320
  console.log('SSE error occurred');
319
321
  return req.body;
320
322
  }
321
323
 
322
324
  @OnSSEClose()
323
- async onsseclose(@Request() req: any, @Response() res: any) {
325
+ async onsseclose(@Request() req, @Response() res) {
324
326
  console.log('SSE connection closed');
325
327
  return req.body;
326
328
  }
@@ -455,9 +457,8 @@ yarn add type-graphql graphql graphql-yoga @graphql-yoga/subscriptions
455
457
  ```typescript
456
458
  @Server({
457
459
  controllers: [/* your REST controllers */],
458
- websocketPath:'/ws', //GraphQL subscriptions uses same ws server as main application
459
460
  graphql: { // GraphQL endpoint (default: '/graphql')
460
- playground: true, // Enable GraphQL Playground
461
+ path: '/graphql', // Enable GraphQL Playground
461
462
  resolvers: [UserResolver, MessageResolver], // Your resolver classes
462
463
  pubSub: pubSub, // Your PubSub instance (required for subscriptions)
463
464
  },
@@ -4,7 +4,6 @@ exports.LambdaAdapter = void 0;
4
4
  const _constants_1 = require("../../constants.js");
5
5
  const _utils_1 = require("../../utils/index.js");
6
6
  const plugin_1 = require("../plugin");
7
- const utils_1 = require("./utils");
8
7
  class LambdaAdapter extends plugin_1.Plugin {
9
8
  handler;
10
9
  controllers = [];
@@ -17,9 +16,9 @@ class LambdaAdapter extends plugin_1.Plugin {
17
16
  createHandler() {
18
17
  return async (event, context) => {
19
18
  await this.callPluginHook('beforeRequest', event, context);
20
- const eventType = (0, utils_1.getEventType)(event);
21
- const request = new utils_1.LRequest(event, context);
22
- const response = new utils_1.LResponse();
19
+ const eventType = (0, _utils_1.getEventType)(event);
20
+ const request = _utils_1.RequestFactory.fromLambda(event, context);
21
+ const response = _utils_1.ResponseFactory.forLambda(request);
23
22
  return this.runControllers({
24
23
  context,
25
24
  event,
@@ -51,24 +50,20 @@ class LambdaAdapter extends plugin_1.Plugin {
51
50
  }
52
51
  await this.callPluginHook('beforeRoute', request, response);
53
52
  processed = await instance.handleRequest(request, response);
54
- if (processed.routeMatch)
53
+ if (processed)
55
54
  break;
56
55
  }
57
56
  catch (error) {
58
- return this.handleError(error, request, response);
57
+ return this.handleError(error, request);
59
58
  }
60
59
  }
61
- if (!processed?.routeMatch) {
62
- response.statusCode = 404;
63
- return this.toLambdaResponse({ data: 'Route not found' }, request, response, eventType);
64
- }
65
- if ((0, _utils_1.getErrorType)(processed?.data).isError) {
66
- return this.handleError(processed?.data, request, response);
60
+ if ((0, _utils_1.getErrorType)(response?.data).isError) {
61
+ return this.handleError(processed?.data, request);
67
62
  }
68
63
  return this.toLambdaResponse(processed?.data, request, response, eventType);
69
64
  }
70
65
  toLambdaResponse(data, request, response, eventType) {
71
- const statusCode = data?.status ?? response?.statusCode ?? 200;
66
+ const statusCode = data?.status ?? response?.status ?? 200;
72
67
  const headers = {
73
68
  'Content-Type': 'application/json',
74
69
  'X-Request-Id': request.requestId,
@@ -124,19 +119,21 @@ class LambdaAdapter extends plugin_1.Plugin {
124
119
  return { statusCode, headers, body };
125
120
  }
126
121
  }
127
- handleError(error, request, response) {
122
+ handleError(error, request) {
128
123
  const config = {
129
124
  includeStack: process.env.NODE_ENV !== 'production',
130
125
  logErrors: true,
131
- status: response.status === 200 ? 500 : response.status,
132
126
  };
133
- let serialized = new _utils_1.ApplicationError({ request, status: response.status, error, config });
134
- const eventType = (0, utils_1.getEventType)(request.event);
127
+ let serialized = new _utils_1.ApplicationError(error, {
128
+ meta: request,
129
+ config,
130
+ });
131
+ const eventType = (0, _utils_1.getEventType)(request.getLambdaEvent());
135
132
  const statusCode = serialized.status || 500;
136
133
  const body = JSON.stringify(serialized);
137
134
  const headers = {
138
135
  'Content-Type': 'application/json',
139
- 'X-Request-Id': request.id,
136
+ 'X-Request-Id': request.requestId,
140
137
  'Access-Control-Allow-Origin': '*',
141
138
  'Access-Control-Allow-Credentials': 'true',
142
139
  };
@@ -1 +1 @@
1
- {"version":3,"file":"lambda.js","sourceRoot":"","sources":["../../../src/app/aws/lambda.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lambda.js","sourceRoot":"","sources":["../../../src/app/aws/lambda.ts"],"names":[],"mappings":"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"}
@@ -6,13 +6,14 @@ export declare class HttpServer extends Plugin implements IHttpServer {
6
6
  private isRunning;
7
7
  private sse?;
8
8
  private websocket?;
9
- private websocketPath;
10
9
  controllers: ControllerType[];
11
10
  middlewares: MiddlewareCB[];
12
11
  app: http.Server;
13
12
  plugins: HttpPlugin[];
14
13
  allContriollers: ControllerType[];
14
+ staticMiddlewares: any;
15
15
  constructor(configOrClass: new (...args: any[]) => any);
16
+ setUpWebsocket(): void;
16
17
  private collectControllers;
17
18
  private logConfig;
18
19
  listen(port?: number, host?: string): Promise<http.Server>;
@@ -22,11 +23,9 @@ export declare class HttpServer extends Plugin implements IHttpServer {
22
23
  config: ServerConfig;
23
24
  };
24
25
  private requestHandler;
25
- private createRequest;
26
26
  private beforeRequest;
27
27
  private runController;
28
28
  private sendResponse;
29
- private handleError;
30
29
  private setupGraphQL;
31
30
  use(middleware: MiddlewareCB): this;
32
31
  }
@@ -10,7 +10,6 @@ const ws_1 = require("graphql-ws/use/ws");
10
10
  const graphql_yoga_1 = require("graphql-yoga");
11
11
  const http_1 = __importDefault(require("http"));
12
12
  const type_graphql_1 = require("type-graphql");
13
- const uuid_1 = require("uuid");
14
13
  const server_1 = require("../../sse/server");
15
14
  const service_1 = require("../../sse/service");
16
15
  const server_2 = require("../../ws/server");
@@ -21,31 +20,29 @@ class HttpServer extends plugin_1.Plugin {
21
20
  isRunning = false;
22
21
  sse;
23
22
  websocket;
24
- websocketPath = '/ws';
25
23
  controllers = [];
26
24
  middlewares = [];
27
25
  app;
28
26
  plugins = [];
29
27
  allContriollers = [];
28
+ staticMiddlewares = [];
30
29
  constructor(configOrClass) {
31
30
  super();
32
31
  this.config = (0, _utils_1.resolveConfig)(configOrClass);
33
- if (this.config.websocketPath) {
34
- this.websocketPath = this.config.websocketPath;
35
- }
36
32
  this.middlewares = this.middlewares.concat(this.config.middlewares ?? []);
37
33
  this.controllers = this.collectControllers(this.config.controllers ?? []);
38
- const app = http_1.default.createServer(this.requestHandler.bind(this));
34
+ this.app = http_1.default.createServer(this.requestHandler.bind(this));
39
35
  for (const st of this.config.statics ?? []) {
40
36
  const staticMw = (0, _utils_1.staticMiddleware)(st.path, st.options);
41
- this.middlewares?.unshift(staticMw);
37
+ this.staticMiddlewares.push(staticMw);
38
+ }
39
+ if (this.config.websocket && this.config.graphql) {
40
+ throw new Error(`You cant't use custom websocket with graphql`);
42
41
  }
43
- if (this.config.websocket?.enabled || this.config.graphql?.pubSub) {
44
- this.websocket = new server_2.WebSocketServer(app, { path: this.websocketPath });
45
- this.websocket.registerControllers(this.controllers);
46
- service_2.WebSocketService.getInstance().initialize(this.websocket);
42
+ if (this.config.websocket) {
43
+ this.setUpWebsocket();
47
44
  }
48
- if (this.config.graphql && this.config.graphql?.resolvers?.length) {
45
+ if (this.config.graphql) {
49
46
  this.setupGraphQL();
50
47
  }
51
48
  if (this.config.sse?.enabled) {
@@ -53,9 +50,13 @@ class HttpServer extends plugin_1.Plugin {
53
50
  this.sse.registerControllers(this.controllers);
54
51
  service_1.SSEService.getInstance().initialize(this.sse);
55
52
  }
56
- this.app = app;
57
53
  this.logConfig();
58
54
  }
55
+ setUpWebsocket() {
56
+ this.websocket = new server_2.WebSocketServer(this.app, { path: this.config.websocket?.path ?? '/ws' });
57
+ this.websocket.registerControllers(this.controllers);
58
+ service_2.WebSocketService.getInstance().initialize(this.websocket);
59
+ }
59
60
  collectControllers(controllers = []) {
60
61
  const result = [];
61
62
  for (const ControllerClass of controllers) {
@@ -85,7 +86,7 @@ class HttpServer extends plugin_1.Plugin {
85
86
  ║ 📍 Host: ${this.config.host}
86
87
  ║ 🔌 Port: ${this.config.port}
87
88
  ║ 🔌 Websocket: ${!!this.config.websocket && this.config.graphql?.pubSub}
88
- ║ 🔌 Websocket path prefix: ${this.config.websocketPath}
89
+ ║ 🔌 Websocket path prefix: ${this.config.websocket?.path ?? '/ws'}
89
90
  ║ 🔧 Global Middlewares: ${this.middlewares?.length || 0}
90
91
  ║ 🔧 Error handler: ${!this.config.errorHandler}
91
92
  ║ 🎯 Global Interceptors: ${!!this.config.interceptor?.length}
@@ -143,91 +144,57 @@ class HttpServer extends plugin_1.Plugin {
143
144
  });
144
145
  }
145
146
  status() {
146
- return {
147
- running: this.isRunning,
148
- config: this.config,
149
- };
147
+ return { running: this.isRunning, config: this.config };
150
148
  }
151
- async requestHandler(req, response) {
149
+ async requestHandler(req, res) {
152
150
  const startTime = Date.now();
153
- let request;
151
+ const request = await _utils_1.RequestFactory.fromHttp(req);
152
+ const response = _utils_1.ResponseFactory.forHttp(res, request);
154
153
  try {
155
154
  await this.callPluginHook('beforeRequest', req);
156
155
  }
157
- catch (data) {
158
- return this.sendResponse(response, { status: 500, data }, startTime);
159
- }
160
- try {
161
- request = await this.createRequest(req);
162
- }
163
- catch (err) {
164
- return this.sendResponse(response, { status: 500, data: err.message }, startTime);
156
+ catch (error) {
157
+ response.status = 500;
158
+ response.data = error;
159
+ return this.sendResponse(request, response, startTime);
165
160
  }
161
+ if (response.headersSent)
162
+ return;
166
163
  try {
167
- let handledCors = { permitted: true, continue: true };
168
- if (this.config.cors) {
169
- handledCors = (0, _utils_1.handleCORS)(request, response, this.config.cors);
170
- }
164
+ let handledCors = this.config.cors
165
+ ? (0, _utils_1.handleCORS)(request, response, this.config.cors)
166
+ : { permitted: true, continue: true };
171
167
  if (!handledCors.permitted) {
172
- return this.sendResponse(response, { status: 403, message: 'CORS: Origin not allowed' }, startTime, request);
168
+ response.status = 403;
169
+ response.data = 'CORS: Origin not allowed';
170
+ return this.sendResponse(request, response, startTime);
173
171
  }
174
172
  if (!handledCors.continue && handledCors.permitted) {
175
- return this.sendResponse(response, { status: 204 }, startTime, request);
173
+ response.status = 204;
174
+ return this.sendResponse(request, response, startTime);
176
175
  }
177
176
  await this.beforeRequest(request, response);
178
- if (response.headersSent) {
177
+ if (response.headersSent)
179
178
  return;
180
- }
181
179
  await this.callPluginHook('beforeRoute', request, response);
182
- let controllerResponse = await this.runController(request, response);
183
- if (!controllerResponse.routeMatch) {
184
- return this.handleError({ status: 404, data: 'Route not found' }, request, response, Date.now());
185
- }
186
- const isError = (0, _utils_1.getErrorType)(controllerResponse.data).isError || !_constants_1.OK_STATUSES.includes(response.statusCode);
187
- if (isError) {
188
- return this.handleError(controllerResponse.data, request, response, startTime);
189
- }
190
- if (this.config.interceptor && controllerResponse) {
191
- controllerResponse.data = await this.config.interceptor(controllerResponse, request, response);
192
- }
193
- return this.sendResponse(response, { status: response.statusCode ?? 200, data: controllerResponse.data }, startTime, request);
180
+ if (response.headersSent)
181
+ return;
182
+ await this.runController(request, response);
183
+ return this.sendResponse(request, response, startTime);
194
184
  }
195
185
  catch (error) {
196
- return this.handleError(error, request, response, startTime);
186
+ response.error(error);
187
+ return this.sendResponse(request, response, startTime);
197
188
  }
198
189
  }
199
- async createRequest(req) {
200
- const rawBody = await (0, _utils_1.collectRawBody)(req);
201
- const parseRequest = {
202
- body: rawBody,
203
- headers: req.headers,
204
- isBase64Encoded: false,
205
- };
206
- const parsedBody = (0, _utils_1.ParseBody)(parseRequest);
207
- const protocol = req.headers['x-forwarded-proto'] || 'http';
208
- const host = req.headers.host || 'localhost';
209
- const fullUrl = `${protocol}://${host}${req.url}`;
210
- const id = req.headers['x-request-id'] || (0, uuid_1.v4)();
211
- const requestUrl = new URL(fullUrl);
212
- const parsedRequest = {
213
- id,
214
- method: req.method?.toUpperCase(),
215
- requestUrl,
216
- headers: req.headers,
217
- body: parsedBody,
218
- rawBody: rawBody,
219
- query: (0, _utils_1.ParseQuery)(requestUrl),
220
- params: {},
221
- cookies: (0, _utils_1.ParseCookies)(req),
222
- ip: req.socket.remoteAddress,
223
- isBase64Encoded: false,
224
- _startTime: Date.now(),
225
- };
226
- Object.assign(req, parsedRequest);
227
- return req;
228
- }
229
190
  async beforeRequest(request, response) {
230
191
  (0, _utils_1.sanitizeRequest)(request, this.config.sanitizers ?? []);
192
+ for (const middleware of this.staticMiddlewares) {
193
+ await middleware(request.raw, response.raw, _utils_1.NextFunction);
194
+ }
195
+ if (response.raw.headersSent) {
196
+ return;
197
+ }
231
198
  for (const middleware of this.middlewares?.reverse() || []) {
232
199
  await middleware(request, response, _utils_1.NextFunction);
233
200
  }
@@ -236,55 +203,36 @@ class HttpServer extends plugin_1.Plugin {
236
203
  for (const ControllerClass of this.controllers ?? []) {
237
204
  const instance = new ControllerClass();
238
205
  if (typeof instance.handleRequest === 'function') {
239
- const handlerResponse = await instance.handleRequest(request, response);
240
- if (handlerResponse.routeMatch) {
241
- return handlerResponse;
206
+ const done = await instance.handleRequest(request, response);
207
+ if (done) {
208
+ break;
242
209
  }
243
210
  }
244
211
  }
245
- return {};
246
212
  }
247
- async sendResponse(res, responseData, startTime, appRequest) {
248
- if (res.headersSent)
213
+ async sendResponse(request, response, startTime) {
214
+ if (response.headersSent)
249
215
  return;
250
- const { status, data } = responseData;
251
- if (!res.getHeader('Content-Type')) {
252
- res.setHeader('Content-Type', 'application/json');
216
+ if (!response.getHeader('Content-Type')) {
217
+ response.setHeader('Content-Type', 'application/json');
253
218
  }
254
- res.setHeader('X-Response-Time', `${Date.now() - startTime}ms`);
255
- res.statusCode = status ?? data.status ?? 200;
219
+ response.setHeader('X-Response-Time', `${Date.now() - startTime}ms`);
256
220
  try {
257
- const repsData = JSON.stringify(data);
258
- res.end(repsData);
259
- await this.callPluginHook('afterResponse', appRequest, res);
221
+ response.end(response.data);
222
+ await this.callPluginHook('afterResponse', request, response);
260
223
  }
261
224
  catch (err) {
262
- res.statusCode = 500;
263
- res.end(err);
225
+ response.status = 500;
226
+ response.error(err);
227
+ response.end(err);
264
228
  }
265
229
  }
266
- async handleError(error, request, response, startTime) {
267
- const config = {
268
- includeStack: process.env.NODE_ENV !== 'production',
269
- logErrors: !!process.env.LOG_ERRORS,
270
- status: response.statusCode,
271
- };
272
- let appError = new _utils_1.ApplicationError({ error, request, config });
273
- if (!this.config.errorHandler) {
274
- return this.sendResponse(response, { data: appError }, startTime);
275
- }
276
- try {
277
- const intercepted = await this.config.errorHandler(error, request, response);
278
- appError = intercepted.data ?? intercepted;
279
- }
280
- catch (cathed) {
281
- appError = new _utils_1.ApplicationError({ error, request, config });
282
- }
283
- return this.sendResponse(response, { data: appError ?? appError }, startTime, request);
284
- }
285
230
  async setupGraphQL() {
286
231
  if (!this.config.graphql || !this.config.graphql?.resolvers?.length)
287
232
  return;
233
+ const graphqlWsServer = new server_2.WebSocketServer(this.app, {
234
+ path: this.config.graphql.path ?? '/graphql',
235
+ });
288
236
  const schemaConfig = {
289
237
  resolvers: this.config.graphql?.resolvers,
290
238
  validate: true,
@@ -297,15 +245,19 @@ class HttpServer extends plugin_1.Plugin {
297
245
  schema,
298
246
  context: (ctx) => {
299
247
  const req = ctx.request ?? ctx.req;
300
- return { req, headers: req?.headers, pubSub: this.config.graphql?.pubSub };
248
+ return {
249
+ request: req.raw,
250
+ headers: req?.headers,
251
+ pubSub: this.config.graphql?.pubSub ?? (0, graphql_yoga_1.createPubSub)(),
252
+ };
301
253
  },
302
254
  graphiql: !!this.config.graphql?.playground,
303
255
  });
304
256
  if (this.config.graphql.pubSub) {
305
- (0, ws_1.useServer)({ schema, context: () => ({ pubSub: this.config.graphql?.pubSub }) }, this.websocket.wss);
257
+ (0, ws_1.useServer)({ schema, context: () => ({ pubSub: this.config.graphql?.pubSub }) }, graphqlWsServer.wss);
306
258
  this.use(async (req, res) => {
307
- if (req.requestUrl.pathname?.startsWith(this.websocketPath)) {
308
- return yoga(req, res);
259
+ if (req.requestUrl.pathname?.startsWith('/graphql')) {
260
+ await yoga(req.raw, res.raw);
309
261
  }
310
262
  });
311
263
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Application.js","sourceRoot":"","sources":["../../../src/app/http/Application.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Application.js","sourceRoot":"","sources":["../../../src/app/http/Application.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,2 @@
1
- export { HttpRequest } from '../../types/index.js';
2
1
  export * from './Application';
3
2
  export * from './decorators';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/app/http/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AACA,gDAA8B;AAC9B,+CAA6B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/app/http/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,+CAA6B"}
@@ -9,7 +9,7 @@ class Plugin {
9
9
  const hook = plugin.hooks?.[hookName];
10
10
  if (hook) {
11
11
  try {
12
- await Promise.resolve(hook(...args));
12
+ await hook(...args);
13
13
  }
14
14
  catch (error) {
15
15
  console.error(`Plugin ${plugin.name} hook ${hookName} error:`, error);
@@ -22,7 +22,7 @@ class Plugin {
22
22
  const hook = plugin?.[hookName];
23
23
  if (hook) {
24
24
  try {
25
- await Promise.resolve(hook(...args));
25
+ await hook(...args);
26
26
  }
27
27
  catch (error) {
28
28
  console.error(`Plugin ${plugin.name} hook ${hookName} error:`, error);
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/app/plugin.ts"],"names":[],"mappings":";;;AAEA,MAAa,MAAM;IACjB,OAAO,CAAQ;IACf,WAAW,CAAiB;IAClB,KAAK,CAAC,cAAc,CAC5B,QAAW,EACX,GAAG,IAAS;QAEZ,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,CAAC;YACtC,IAAI,IAAI,EAAE,CAAC;gBACT,IAAI,CAAC;oBACH,MAAM,OAAO,CAAC,OAAO,CAAE,IAAY,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;gBAChD,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,KAAK,CAAC,UAAU,MAAM,CAAC,IAAI,SAAS,QAAQ,SAAS,EAAE,KAAK,CAAC,CAAC;gBACxE,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACS,KAAK,CAAC,gBAAgB,CAC9B,QAAoB,EACpB,GAAG,IAAS;QAEZ,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAC;YAChC,IAAI,IAAI,EAAE,CAAC;gBACT,IAAI,CAAC;oBACH,MAAM,OAAO,CAAC,OAAO,CAAE,IAAY,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;gBAChD,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,KAAK,CAAC,UAAU,MAAM,CAAC,IAAI,SAAS,QAAQ,SAAS,EAAE,KAAK,CAAC,CAAC;gBACxE,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,SAAS,CAAC,MAAW;QACnB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1B,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC;QACtB,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACtB,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC/C,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AA3CD,wBA2CC"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/app/plugin.ts"],"names":[],"mappings":";;;AAEA,MAAa,MAAM;IACjB,OAAO,CAAQ;IACf,WAAW,CAAiB;IAClB,KAAK,CAAC,cAAc,CAC5B,QAAW,EACX,GAAG,IAAS;QAEZ,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,CAAC;YACtC,IAAI,IAAI,EAAE,CAAC;gBACT,IAAI,CAAC;oBACH,MAAO,IAAY,CAAC,GAAG,IAAI,CAAC,CAAC;gBAC/B,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,KAAK,CAAC,UAAU,MAAM,CAAC,IAAI,SAAS,QAAQ,SAAS,EAAE,KAAK,CAAC,CAAC;gBACxE,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACS,KAAK,CAAC,gBAAgB,CAC9B,QAAoB,EACpB,GAAG,IAAS;QAEZ,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAC;YAChC,IAAI,IAAI,EAAE,CAAC;gBACT,IAAI,CAAC;oBACH,MAAO,IAAY,CAAC,GAAG,IAAI,CAAC,CAAC;gBAC/B,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,KAAK,CAAC,UAAU,MAAM,CAAC,IAAI,SAAS,QAAQ,SAAS,EAAE,KAAK,CAAC,CAAC;gBACxE,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,SAAS,CAAC,MAAW;QACnB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1B,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC;QACtB,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACtB,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC/C,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AA3CD,wBA2CC"}
@@ -1,5 +1,4 @@
1
- import { AppRequest, ControllerClass, ControllerConfig, InterceptorCB, RouteContext, SeeControllerHandlers, WsControllerHandlers } from '../types/index.js';
2
- import { ServerResponse } from 'http';
1
+ import { ControllerClass, ControllerConfig, ControllerMetadata, CORSConfig, ErorrHandler, InterceptorCB, IRequest, IResponse, MiddlewareCB, SanitizerConfig, SeeControllerHandlers, WsControllerHandlers } from '../types/index.js';
3
2
  import 'reflect-metadata';
4
3
  /**
5
4
  * Class decorator to define a controller with optional configuration.
@@ -27,10 +26,16 @@ export declare function Controller(config: string | ControllerConfig, middleware
27
26
  [x: string]: any;
28
27
  ws?: WsControllerHandlers;
29
28
  sse?: SeeControllerHandlers;
30
- executeControllerMethod: (controller: import("../types/index.js").ControllerInstance, propertyName: string, request: AppRequest, response: ServerResponse) => Promise<any>;
29
+ executeControllerMethod: (controller: import("../types/index.js").ControllerInstance, propertyName: string, request: IRequest, response: IResponse) => Promise<any>;
31
30
  getControllerMethods: (controller: import("../types/index.js").ControllerInstance) => import("../types/index.js").ControllerMethods;
32
- handleRequest: (request: AppRequest, response: ServerResponse) => Promise<any>;
33
- routeWalker(context: RouteContext, request: AppRequest, response: ServerResponse): Promise<any>;
31
+ routePrefix?: string;
32
+ middlewares: MiddlewareCB[];
33
+ interceptor?: InterceptorCB;
34
+ subControllers: ControllerMetadata[];
35
+ errorHandler?: ErorrHandler;
36
+ cors?: CORSConfig;
37
+ sanitizers?: SanitizerConfig[];
38
+ handleRequest: (request: IRequest, response: IResponse) => Promise<boolean>;
34
39
  lookupWS(): void;
35
40
  lookupSSE(): void;
36
41
  getSSEController(): {