@vercube/core 0.0.2-beta.0 → 0.0.2-beta.1
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.
- package/dist/Services/ErrorHandler/DefaultErrorHandlerProvider.d.ts +1 -1
- package/dist/Services/HttpServer/HttpServer.d.ts +4 -4
- package/dist/Services/Router/RequestHandler.d.ts +0 -2
- package/dist/index.cjs +17 -19
- package/dist/index.d.ts +1 -0
- package/dist/index.mjs +17 -20
- package/package.json +3 -3
|
@@ -8,7 +8,7 @@ export declare class DefaultErrorHandlerProvider extends ErrorHandlerProvider {
|
|
|
8
8
|
private gLogger;
|
|
9
9
|
/**
|
|
10
10
|
* Handles an error that occurred during request processing
|
|
11
|
-
*
|
|
11
|
+
*
|
|
12
12
|
* @param error - The Error object containing error details
|
|
13
13
|
* @returns Promise<Response> | Response - The response to be sent to the client
|
|
14
14
|
*/
|
|
@@ -8,6 +8,10 @@ import { ConfigTypes } from "@vercube/core";
|
|
|
8
8
|
* - Processing HTTP responses
|
|
9
9
|
*/
|
|
10
10
|
export declare class HttpServer {
|
|
11
|
+
/**
|
|
12
|
+
* DI container for resolving dependencies
|
|
13
|
+
*/
|
|
14
|
+
private gContainer;
|
|
11
15
|
/**
|
|
12
16
|
* Router service for resolving routes
|
|
13
17
|
*/
|
|
@@ -17,10 +21,6 @@ export declare class HttpServer {
|
|
|
17
21
|
*/
|
|
18
22
|
private gRequestHandler;
|
|
19
23
|
/**
|
|
20
|
-
* Error handler provider for managing error responses
|
|
21
|
-
*/
|
|
22
|
-
private gErrorHandlerProvider;
|
|
23
|
-
/**
|
|
24
24
|
* Static server for serving static files
|
|
25
25
|
*/
|
|
26
26
|
private gStaticRequestHandler;
|
|
@@ -23,8 +23,6 @@ export declare class RequestHandler {
|
|
|
23
23
|
private gMetadataResolver;
|
|
24
24
|
/** DI container for resolving dependencies */
|
|
25
25
|
private gContainer;
|
|
26
|
-
/** Provider for handling errors during request processing */
|
|
27
|
-
private gErrorHandlerProvider;
|
|
28
26
|
private gGlobalMiddlewareRegistry;
|
|
29
27
|
/**
|
|
30
28
|
* Prepares a route handler by resolving its metadata and middlewares
|
package/dist/index.cjs
CHANGED
|
@@ -544,8 +544,6 @@ var RequestHandler = class {
|
|
|
544
544
|
gMetadataResolver;
|
|
545
545
|
/** DI container for resolving dependencies */
|
|
546
546
|
gContainer;
|
|
547
|
-
/** Provider for handling errors during request processing */
|
|
548
|
-
gErrorHandlerProvider;
|
|
549
547
|
gGlobalMiddlewareRegistry;
|
|
550
548
|
/**
|
|
551
549
|
* Prepares a route handler by resolving its metadata and middlewares
|
|
@@ -604,8 +602,8 @@ var RequestHandler = class {
|
|
|
604
602
|
methodArgs: args
|
|
605
603
|
});
|
|
606
604
|
if (hookResponse instanceof Response) return hookResponse;
|
|
607
|
-
} catch (
|
|
608
|
-
|
|
605
|
+
} catch (error_) {
|
|
606
|
+
this.gContainer.get(ErrorHandlerProvider).handleError(error_);
|
|
609
607
|
}
|
|
610
608
|
for (const action of actions) {
|
|
611
609
|
const actionResponse = action.handler(request, fakeResponse);
|
|
@@ -621,8 +619,8 @@ var RequestHandler = class {
|
|
|
621
619
|
for await (const hook of middlewares?.afterMiddlewares ?? []) try {
|
|
622
620
|
const hookResponse = await hook.middleware.onResponse?.(request, fakeResponse, handlerResponse);
|
|
623
621
|
if (hookResponse !== null) fakeResponse = this.processOverrideResponse(hookResponse, fakeResponse);
|
|
624
|
-
} catch (
|
|
625
|
-
|
|
622
|
+
} catch (error_) {
|
|
623
|
+
this.gContainer.get(ErrorHandlerProvider).handleError(error_);
|
|
626
624
|
}
|
|
627
625
|
const body = fakeResponse?.body ?? JSON.stringify(handlerResponse);
|
|
628
626
|
return new Response(body, {
|
|
@@ -631,7 +629,7 @@ var RequestHandler = class {
|
|
|
631
629
|
headers: fakeResponse.headers
|
|
632
630
|
});
|
|
633
631
|
} catch (error_) {
|
|
634
|
-
return this.
|
|
632
|
+
return this.gContainer.get(ErrorHandlerProvider).handleError(error_);
|
|
635
633
|
}
|
|
636
634
|
}
|
|
637
635
|
/**
|
|
@@ -662,7 +660,6 @@ var RequestHandler = class {
|
|
|
662
660
|
};
|
|
663
661
|
(0, import_decorate.default)([(0, __vercube_di.Inject)(MetadataResolver)], RequestHandler.prototype, "gMetadataResolver", void 0);
|
|
664
662
|
(0, import_decorate.default)([(0, __vercube_di.Inject)(__vercube_di.Container)], RequestHandler.prototype, "gContainer", void 0);
|
|
665
|
-
(0, import_decorate.default)([(0, __vercube_di.Inject)(ErrorHandlerProvider)], RequestHandler.prototype, "gErrorHandlerProvider", void 0);
|
|
666
663
|
(0, import_decorate.default)([(0, __vercube_di.Inject)(GlobalMiddlewareRegistry)], RequestHandler.prototype, "gGlobalMiddlewareRegistry", void 0);
|
|
667
664
|
|
|
668
665
|
//#endregion
|
|
@@ -768,6 +765,10 @@ var StaticRequestHandler = class {
|
|
|
768
765
|
* - Processing HTTP responses
|
|
769
766
|
*/
|
|
770
767
|
var HttpServer = class {
|
|
768
|
+
/**
|
|
769
|
+
* DI container for resolving dependencies
|
|
770
|
+
*/
|
|
771
|
+
gContainer;
|
|
771
772
|
/**
|
|
772
773
|
* Router service for resolving routes
|
|
773
774
|
*/
|
|
@@ -777,10 +778,6 @@ var HttpServer = class {
|
|
|
777
778
|
*/
|
|
778
779
|
gRequestHandler;
|
|
779
780
|
/**
|
|
780
|
-
* Error handler provider for managing error responses
|
|
781
|
-
*/
|
|
782
|
-
gErrorHandlerProvider;
|
|
783
|
-
/**
|
|
784
781
|
* Static server for serving static files
|
|
785
782
|
*/
|
|
786
783
|
gStaticRequestHandler;
|
|
@@ -798,10 +795,10 @@ var HttpServer = class {
|
|
|
798
795
|
const { port, host } = config.server ?? {};
|
|
799
796
|
this.fServer = (0, srvx.serve)({
|
|
800
797
|
bun: { error: (error) => {
|
|
801
|
-
return this.
|
|
798
|
+
return this.gContainer.get(ErrorHandlerProvider).handleError(error);
|
|
802
799
|
} },
|
|
803
800
|
deno: { onError: (error) => {
|
|
804
|
-
return this.
|
|
801
|
+
return this.gContainer.get(ErrorHandlerProvider).handleError(error);
|
|
805
802
|
} },
|
|
806
803
|
hostname: host,
|
|
807
804
|
port,
|
|
@@ -841,13 +838,13 @@ var HttpServer = class {
|
|
|
841
838
|
}
|
|
842
839
|
return this.gRequestHandler.handleRequest(request, route);
|
|
843
840
|
} catch (error) {
|
|
844
|
-
return this.
|
|
841
|
+
return this.gContainer.get(ErrorHandlerProvider).handleError(error);
|
|
845
842
|
}
|
|
846
843
|
}
|
|
847
844
|
};
|
|
845
|
+
(0, import_decorate.default)([(0, __vercube_di.Inject)(__vercube_di.Container)], HttpServer.prototype, "gContainer", void 0);
|
|
848
846
|
(0, import_decorate.default)([(0, __vercube_di.Inject)(Router)], HttpServer.prototype, "gRouter", void 0);
|
|
849
847
|
(0, import_decorate.default)([(0, __vercube_di.Inject)(RequestHandler)], HttpServer.prototype, "gRequestHandler", void 0);
|
|
850
|
-
(0, import_decorate.default)([(0, __vercube_di.Inject)(ErrorHandlerProvider)], HttpServer.prototype, "gErrorHandlerProvider", void 0);
|
|
851
848
|
(0, import_decorate.default)([(0, __vercube_di.Inject)(StaticRequestHandler)], HttpServer.prototype, "gStaticRequestHandler", void 0);
|
|
852
849
|
|
|
853
850
|
//#endregion
|
|
@@ -1073,16 +1070,16 @@ var DefaultErrorHandlerProvider = class extends ErrorHandlerProvider {
|
|
|
1073
1070
|
gLogger;
|
|
1074
1071
|
/**
|
|
1075
1072
|
* Handles an error that occurred during request processing
|
|
1076
|
-
*
|
|
1073
|
+
*
|
|
1077
1074
|
* @param error - The Error object containing error details
|
|
1078
1075
|
* @returns Promise<Response> | Response - The response to be sent to the client
|
|
1079
1076
|
*/
|
|
1080
1077
|
handleError(error) {
|
|
1081
|
-
const _internalError = new InternalServerError();
|
|
1078
|
+
const _internalError = new InternalServerError(error?.message ?? "Internal server error");
|
|
1082
1079
|
const status = error?.status ?? 500;
|
|
1083
1080
|
if (error instanceof HttpError) return new Response(JSON.stringify({ ...error }, void 0, 2), { status });
|
|
1084
1081
|
this.gLogger.error(error);
|
|
1085
|
-
return new Response(JSON.stringify({ ...error?.cause ?? _internalError
|
|
1082
|
+
return new Response(JSON.stringify({ ...error?.cause ?? _internalError }, void 0, 2), { status });
|
|
1086
1083
|
}
|
|
1087
1084
|
};
|
|
1088
1085
|
(0, import_decorate.default)([(0, __vercube_di.Inject)(__vercube_logger.Logger)], DefaultErrorHandlerProvider.prototype, "gLogger", void 0);
|
|
@@ -2643,6 +2640,7 @@ exports.Delete = Delete
|
|
|
2643
2640
|
exports.ErrorHandlerProvider = ErrorHandlerProvider
|
|
2644
2641
|
exports.ForbiddenError = ForbiddenError
|
|
2645
2642
|
exports.Get = Get
|
|
2643
|
+
exports.GlobalMiddlewareRegistry = GlobalMiddlewareRegistry
|
|
2646
2644
|
exports.HTTPStatus = HTTPStatus
|
|
2647
2645
|
exports.Head = Head
|
|
2648
2646
|
exports.Header = Header
|
package/dist/index.d.ts
CHANGED
|
@@ -30,6 +30,7 @@ export * from "./Decorators/Hooks/Listen.js";
|
|
|
30
30
|
export * from "./Services/Hooks/HooksService.js";
|
|
31
31
|
export * from "./Services/Plugins/BasePlugin.js";
|
|
32
32
|
export * from "./Services/Middleware/BaseMiddleware.js";
|
|
33
|
+
export * from "./Services/Middleware/GlobalMiddlewareRegistry.js";
|
|
33
34
|
export * from "./Services/HttpServer/HttpServer.js";
|
|
34
35
|
export * from "./Services/Metadata/MetadataResolver.js";
|
|
35
36
|
export * from "./Services/ErrorHandler/ErrorHandlerProvider.js";
|
package/dist/index.mjs
CHANGED
|
@@ -514,8 +514,6 @@ var RequestHandler = class {
|
|
|
514
514
|
gMetadataResolver;
|
|
515
515
|
/** DI container for resolving dependencies */
|
|
516
516
|
gContainer;
|
|
517
|
-
/** Provider for handling errors during request processing */
|
|
518
|
-
gErrorHandlerProvider;
|
|
519
517
|
gGlobalMiddlewareRegistry;
|
|
520
518
|
/**
|
|
521
519
|
* Prepares a route handler by resolving its metadata and middlewares
|
|
@@ -574,8 +572,8 @@ var RequestHandler = class {
|
|
|
574
572
|
methodArgs: args
|
|
575
573
|
});
|
|
576
574
|
if (hookResponse instanceof Response) return hookResponse;
|
|
577
|
-
} catch (
|
|
578
|
-
|
|
575
|
+
} catch (error_) {
|
|
576
|
+
this.gContainer.get(ErrorHandlerProvider).handleError(error_);
|
|
579
577
|
}
|
|
580
578
|
for (const action of actions) {
|
|
581
579
|
const actionResponse = action.handler(request, fakeResponse);
|
|
@@ -591,8 +589,8 @@ var RequestHandler = class {
|
|
|
591
589
|
for await (const hook of middlewares?.afterMiddlewares ?? []) try {
|
|
592
590
|
const hookResponse = await hook.middleware.onResponse?.(request, fakeResponse, handlerResponse);
|
|
593
591
|
if (hookResponse !== null) fakeResponse = this.processOverrideResponse(hookResponse, fakeResponse);
|
|
594
|
-
} catch (
|
|
595
|
-
|
|
592
|
+
} catch (error_) {
|
|
593
|
+
this.gContainer.get(ErrorHandlerProvider).handleError(error_);
|
|
596
594
|
}
|
|
597
595
|
const body = fakeResponse?.body ?? JSON.stringify(handlerResponse);
|
|
598
596
|
return new Response(body, {
|
|
@@ -601,7 +599,7 @@ var RequestHandler = class {
|
|
|
601
599
|
headers: fakeResponse.headers
|
|
602
600
|
});
|
|
603
601
|
} catch (error_) {
|
|
604
|
-
return this.
|
|
602
|
+
return this.gContainer.get(ErrorHandlerProvider).handleError(error_);
|
|
605
603
|
}
|
|
606
604
|
}
|
|
607
605
|
/**
|
|
@@ -632,7 +630,6 @@ var RequestHandler = class {
|
|
|
632
630
|
};
|
|
633
631
|
__decorate([Inject(MetadataResolver)], RequestHandler.prototype, "gMetadataResolver", void 0);
|
|
634
632
|
__decorate([Inject(Container)], RequestHandler.prototype, "gContainer", void 0);
|
|
635
|
-
__decorate([Inject(ErrorHandlerProvider)], RequestHandler.prototype, "gErrorHandlerProvider", void 0);
|
|
636
633
|
__decorate([Inject(GlobalMiddlewareRegistry)], RequestHandler.prototype, "gGlobalMiddlewareRegistry", void 0);
|
|
637
634
|
|
|
638
635
|
//#endregion
|
|
@@ -738,6 +735,10 @@ var StaticRequestHandler = class {
|
|
|
738
735
|
* - Processing HTTP responses
|
|
739
736
|
*/
|
|
740
737
|
var HttpServer = class {
|
|
738
|
+
/**
|
|
739
|
+
* DI container for resolving dependencies
|
|
740
|
+
*/
|
|
741
|
+
gContainer;
|
|
741
742
|
/**
|
|
742
743
|
* Router service for resolving routes
|
|
743
744
|
*/
|
|
@@ -747,10 +748,6 @@ var HttpServer = class {
|
|
|
747
748
|
*/
|
|
748
749
|
gRequestHandler;
|
|
749
750
|
/**
|
|
750
|
-
* Error handler provider for managing error responses
|
|
751
|
-
*/
|
|
752
|
-
gErrorHandlerProvider;
|
|
753
|
-
/**
|
|
754
751
|
* Static server for serving static files
|
|
755
752
|
*/
|
|
756
753
|
gStaticRequestHandler;
|
|
@@ -768,10 +765,10 @@ var HttpServer = class {
|
|
|
768
765
|
const { port, host } = config.server ?? {};
|
|
769
766
|
this.fServer = serve({
|
|
770
767
|
bun: { error: (error) => {
|
|
771
|
-
return this.
|
|
768
|
+
return this.gContainer.get(ErrorHandlerProvider).handleError(error);
|
|
772
769
|
} },
|
|
773
770
|
deno: { onError: (error) => {
|
|
774
|
-
return this.
|
|
771
|
+
return this.gContainer.get(ErrorHandlerProvider).handleError(error);
|
|
775
772
|
} },
|
|
776
773
|
hostname: host,
|
|
777
774
|
port,
|
|
@@ -811,13 +808,13 @@ var HttpServer = class {
|
|
|
811
808
|
}
|
|
812
809
|
return this.gRequestHandler.handleRequest(request, route);
|
|
813
810
|
} catch (error) {
|
|
814
|
-
return this.
|
|
811
|
+
return this.gContainer.get(ErrorHandlerProvider).handleError(error);
|
|
815
812
|
}
|
|
816
813
|
}
|
|
817
814
|
};
|
|
815
|
+
__decorate([Inject(Container)], HttpServer.prototype, "gContainer", void 0);
|
|
818
816
|
__decorate([Inject(Router)], HttpServer.prototype, "gRouter", void 0);
|
|
819
817
|
__decorate([Inject(RequestHandler)], HttpServer.prototype, "gRequestHandler", void 0);
|
|
820
|
-
__decorate([Inject(ErrorHandlerProvider)], HttpServer.prototype, "gErrorHandlerProvider", void 0);
|
|
821
818
|
__decorate([Inject(StaticRequestHandler)], HttpServer.prototype, "gStaticRequestHandler", void 0);
|
|
822
819
|
|
|
823
820
|
//#endregion
|
|
@@ -1043,16 +1040,16 @@ var DefaultErrorHandlerProvider = class extends ErrorHandlerProvider {
|
|
|
1043
1040
|
gLogger;
|
|
1044
1041
|
/**
|
|
1045
1042
|
* Handles an error that occurred during request processing
|
|
1046
|
-
*
|
|
1043
|
+
*
|
|
1047
1044
|
* @param error - The Error object containing error details
|
|
1048
1045
|
* @returns Promise<Response> | Response - The response to be sent to the client
|
|
1049
1046
|
*/
|
|
1050
1047
|
handleError(error) {
|
|
1051
|
-
const _internalError = new InternalServerError();
|
|
1048
|
+
const _internalError = new InternalServerError(error?.message ?? "Internal server error");
|
|
1052
1049
|
const status = error?.status ?? 500;
|
|
1053
1050
|
if (error instanceof HttpError) return new Response(JSON.stringify({ ...error }, void 0, 2), { status });
|
|
1054
1051
|
this.gLogger.error(error);
|
|
1055
|
-
return new Response(JSON.stringify({ ...error?.cause ?? _internalError
|
|
1052
|
+
return new Response(JSON.stringify({ ...error?.cause ?? _internalError }, void 0, 2), { status });
|
|
1056
1053
|
}
|
|
1057
1054
|
};
|
|
1058
1055
|
__decorate([Inject(Logger)], DefaultErrorHandlerProvider.prototype, "gLogger", void 0);
|
|
@@ -2602,4 +2599,4 @@ let HTTPStatus = /* @__PURE__ */ function(HTTPStatus$1) {
|
|
|
2602
2599
|
}({});
|
|
2603
2600
|
|
|
2604
2601
|
//#endregion
|
|
2605
|
-
export { App, BadRequestError, BaseMiddleware, BasePlugin, Body, Connect, Controller, Delete, ErrorHandlerProvider, ForbiddenError, Get, HTTPStatus, Head, Header, Headers$1 as Headers, HooksService, HttpError, HttpServer, InternalServerError, Listen, MetadataResolver, MethodNotAllowedError, Middleware, MultipartFormData, NotAcceptableError, NotFoundError, Options, Param, Patch, Post, Put, QueryParam, QueryParams, Redirect, Request, Response$1 as Response, Session, SetHeader, Status, Trace, UnauthorizedError, createApp, createMetadataCtx, createMetadataMethod, defineConfig, initializeMetadata, initializeMetadataMethod, loadVercubeConfig };
|
|
2602
|
+
export { App, BadRequestError, BaseMiddleware, BasePlugin, Body, Connect, Controller, Delete, ErrorHandlerProvider, ForbiddenError, Get, GlobalMiddlewareRegistry, HTTPStatus, Head, Header, Headers$1 as Headers, HooksService, HttpError, HttpServer, InternalServerError, Listen, MetadataResolver, MethodNotAllowedError, Middleware, MultipartFormData, NotAcceptableError, NotFoundError, Options, Param, Patch, Post, Put, QueryParam, QueryParams, Redirect, Request, Response$1 as Response, Session, SetHeader, Status, Trace, UnauthorizedError, createApp, createMetadataCtx, createMetadataMethod, defineConfig, initializeMetadata, initializeMetadataMethod, loadVercubeConfig };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vercube/core",
|
|
3
|
-
"version": "0.0.2-beta.
|
|
3
|
+
"version": "0.0.2-beta.1",
|
|
4
4
|
"description": "Core module for Vercube framework",
|
|
5
5
|
"repository": "@vercube/core",
|
|
6
6
|
"license": "MIT",
|
|
@@ -27,8 +27,8 @@
|
|
|
27
27
|
"pathe": "2.0.3",
|
|
28
28
|
"rou3": "0.6.0",
|
|
29
29
|
"srvx": "0.4.0",
|
|
30
|
-
"@vercube/di": "0.0.2-beta.
|
|
31
|
-
"@vercube/logger": "0.0.2-beta.
|
|
30
|
+
"@vercube/di": "0.0.2-beta.1",
|
|
31
|
+
"@vercube/logger": "0.0.2-beta.1"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
34
34
|
"@vitest/coverage-v8": "^3.1.2",
|