quantum-flow 1.10.0 → 1.10.2

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,14 +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
- errorResponse = intercepted;
232
+ const { status = 500, ...rest } = intercepted;
233
+ if (_constants_1.OK_STATUSES.includes(status)) {
234
+ errorResponse.status = intercepted.status ?? errorResponse.status;
235
+ errorResponse.data = rest;
236
+ }
237
+ errorResponse.status = intercepted.status ?? errorResponse.status;
238
+ errorResponse.data = !intercepted.message ? intercepted : (0, _utils_1.stringifyError)(intercepted);
231
239
  }
232
240
  catch (cathed) {
233
241
  Object.assign(errorResponse, cathed);
@@ -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;
@@ -15,10 +15,10 @@ const resolveConfig = (configOrClass) => {
15
15
  host: 'localhost',
16
16
  ...decoratorConfig,
17
17
  errorHandler: decoratorConfig.errorHandler ?? errorHandler,
18
- interceptors,
19
- middlewares: decoratorConfig.middlewares.concat(middlewares),
18
+ interceptors: (interceptors ?? []).filter((el) => !!el),
19
+ middlewares: decoratorConfig.middlewares.concat(middlewares).filter((el) => !!el),
20
20
  cors: decoratorConfig.cors,
21
- controllers: decoratorConfig.controllers || [],
21
+ controllers: (decoratorConfig.controllers ?? []).filter((el) => !!el),
22
22
  sanitizers,
23
23
  };
24
24
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "quantum-flow",
3
- "version": "1.10.0",
3
+ "version": "1.10.2",
4
4
  "description": "Decorator-based API framework",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",