quantum-flow 1.10.1 → 1.10.3

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.
@@ -220,20 +220,22 @@ class HttpServer {
220
220
  data: {
221
221
  message: error.message || 'Internal Server Error',
222
222
  errors: error.errors || [],
223
+ stack: error.stack,
223
224
  },
224
225
  };
226
+ console.log(errorResponse);
225
227
  if (!this.config.errorHandler) {
226
228
  return this.sendResponse(response, errorResponse, startTime);
227
229
  }
228
230
  try {
229
231
  const intercepted = await this.config.errorHandler(error, request, response);
230
- if (typeof intercepted === 'object') {
232
+ const { status = 500, ...rest } = intercepted;
233
+ if (_constants_1.OK_STATUSES.includes(status)) {
231
234
  errorResponse.status = intercepted.status ?? errorResponse.status;
232
- errorResponse.data = intercepted.message ?? intercepted.data ?? intercepted;
233
- }
234
- else {
235
- errorResponse.data = intercepted;
235
+ errorResponse.data = rest;
236
236
  }
237
+ errorResponse.status = intercepted.status ?? errorResponse.status;
238
+ errorResponse.data = !intercepted.message ? intercepted : (0, _utils_1.stringifyError)(intercepted);
237
239
  }
238
240
  catch (cathed) {
239
241
  Object.assign(errorResponse, cathed);
@@ -75,7 +75,6 @@ class SSEServer {
75
75
  for (const controller of this.controllers) {
76
76
  if (controller.sse.handlers && controller.sse.handlers[eventType]) {
77
77
  for (const handler of controller.sse.handlers[eventType]) {
78
- console.log(handler);
79
78
  await handler.fn(event).catch(console.log);
80
79
  }
81
80
  }
@@ -3,3 +3,4 @@ export declare function matchRoute(pattern: string, path: string): Record<string
3
3
  export declare function buildRoutePattern(parts: string[]): string;
4
4
  export declare function mergeMiddlewares(...middlewareLists: MiddlewareCB[][]): MiddlewareCB[];
5
5
  export declare function mergeInterceptors(...interceptorLists: InterceptorCB[][]): InterceptorCB[];
6
+ export declare const stringifyError: (error: any) => string;
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.stringifyError = void 0;
3
4
  exports.matchRoute = matchRoute;
4
5
  exports.buildRoutePattern = buildRoutePattern;
5
6
  exports.mergeMiddlewares = mergeMiddlewares;
@@ -59,3 +60,12 @@ function mergeMiddlewares(...middlewareLists) {
59
60
  function mergeInterceptors(...interceptorLists) {
60
61
  return interceptorLists.flat();
61
62
  }
63
+ const stringifyError = (error) => {
64
+ return JSON.stringify({
65
+ message: error.message,
66
+ stack: error.stack,
67
+ status: error.status,
68
+ code: error.code,
69
+ }, null, 2);
70
+ };
71
+ exports.stringifyError = stringifyError;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "quantum-flow",
3
- "version": "1.10.1",
3
+ "version": "1.10.3",
4
4
  "description": "Decorator-based API framework",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",