@duplojs/http 0.8.5 → 0.9.5
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/core/builders/preflight/builder.d.ts +5 -6
- package/dist/core/builders/preflight/process.d.ts +3 -4
- package/dist/core/builders/preflight/route.d.ts +4 -5
- package/dist/core/builders/process/builder.d.ts +4 -5
- package/dist/core/builders/process/checker.d.ts +2 -3
- package/dist/core/builders/process/cut.d.ts +4 -5
- package/dist/core/builders/process/exports.d.ts +3 -4
- package/dist/core/builders/process/extract.d.ts +2 -3
- package/dist/core/builders/process/presetChecker.d.ts +2 -3
- package/dist/core/builders/process/process.d.ts +3 -4
- package/dist/core/builders/route/builder.d.ts +6 -6
- package/dist/core/builders/route/checker.d.ts +2 -3
- package/dist/core/builders/route/cut.d.ts +4 -5
- package/dist/core/builders/route/extract.d.ts +3 -3
- package/dist/core/builders/route/handler.d.ts +3 -4
- package/dist/core/builders/route/presetChecker.d.ts +2 -3
- package/dist/core/builders/route/process.d.ts +3 -4
- package/dist/core/defaultHooks/index.d.ts +1 -1
- package/dist/core/functionsBuilders/index.cjs +1 -0
- package/dist/core/functionsBuilders/index.d.ts +1 -0
- package/dist/core/functionsBuilders/index.mjs +1 -0
- package/dist/core/functionsBuilders/route/build.d.ts +5 -2
- package/dist/core/functionsBuilders/route/create.d.ts +3 -5
- package/dist/core/functionsBuilders/route/{hook.cjs → default/hook.cjs} +16 -7
- package/dist/core/functionsBuilders/route/{hook.d.ts → default/hook.d.ts} +5 -5
- package/dist/core/functionsBuilders/route/{hook.mjs → default/hook.mjs} +16 -7
- package/dist/core/functionsBuilders/route/{default.cjs → default/index.cjs} +22 -34
- package/dist/core/functionsBuilders/route/default/index.d.ts +2 -0
- package/dist/core/functionsBuilders/route/{default.mjs → default/index.mjs} +11 -29
- package/dist/core/functionsBuilders/route/index.cjs +2 -9
- package/dist/core/functionsBuilders/route/index.d.ts +0 -1
- package/dist/core/functionsBuilders/route/index.mjs +1 -2
- package/dist/core/functionsBuilders/router/build.cjs +7 -0
- package/dist/core/functionsBuilders/router/build.d.ts +14 -0
- package/dist/core/functionsBuilders/router/build.mjs +5 -0
- package/dist/core/functionsBuilders/router/create.cjs +7 -0
- package/dist/core/functionsBuilders/router/create.d.ts +15 -0
- package/dist/core/functionsBuilders/router/create.mjs +5 -0
- package/dist/core/functionsBuilders/router/default/index.cjs +52 -0
- package/dist/core/functionsBuilders/router/default/index.d.ts +1 -0
- package/dist/core/functionsBuilders/router/default/index.mjs +50 -0
- package/dist/core/functionsBuilders/router/index.cjs +11 -0
- package/dist/core/functionsBuilders/router/index.d.ts +3 -0
- package/dist/core/functionsBuilders/router/index.mjs +3 -0
- package/dist/core/functionsBuilders/steps/create.d.ts +3 -6
- package/dist/core/hub/defaultMalformedUrlHandler.d.ts +1 -1
- package/dist/core/hub/defaultNotfoundHandler.d.ts +1 -1
- package/dist/core/hub/hooks.d.ts +2 -2
- package/dist/core/hub/index.cjs +5 -0
- package/dist/core/hub/index.d.ts +6 -3
- package/dist/core/hub/index.mjs +5 -0
- package/dist/core/implementHttpServer.cjs +1 -1
- package/dist/core/implementHttpServer.d.ts +2 -2
- package/dist/core/implementHttpServer.mjs +2 -2
- package/dist/core/index.cjs +15 -14
- package/dist/core/index.mjs +8 -6
- package/dist/core/process/index.d.ts +0 -7
- package/dist/core/route/hooks.cjs +2 -17
- package/dist/core/route/hooks.d.ts +15 -32
- package/dist/core/route/hooks.mjs +3 -17
- package/dist/core/route/index.cjs +0 -1
- package/dist/core/route/index.mjs +1 -1
- package/dist/core/router/{buildSystemRoute.cjs → createRouterElementSystem.cjs} +4 -3
- package/dist/core/router/createRouterElementSystem.d.ts +9 -0
- package/dist/core/router/{buildSystemRoute.mjs → createRouterElementSystem.mjs} +4 -3
- package/dist/core/router/index.cjs +19 -60
- package/dist/core/router/index.d.ts +3 -4
- package/dist/core/router/index.mjs +17 -56
- package/dist/core/router/types/buildedRouter.d.ts +2 -12
- package/dist/core/router/types/index.cjs +4 -0
- package/dist/core/router/types/index.d.ts +4 -0
- package/dist/core/router/types/index.mjs +4 -0
- package/dist/core/router/types/router.cjs +2 -0
- package/dist/core/router/types/router.d.ts +12 -0
- package/dist/core/router/types/router.mjs +1 -0
- package/dist/core/router/types/routerElement.cjs +2 -0
- package/dist/core/router/types/routerElement.d.ts +8 -0
- package/dist/core/router/types/routerElement.mjs +1 -0
- package/dist/core/router/types/routerElementSystem.cjs +2 -0
- package/dist/core/router/types/routerElementSystem.d.ts +6 -0
- package/dist/core/router/types/routerElementSystem.mjs +1 -0
- package/dist/core/router/types/routerElementWrapper.cjs +2 -0
- package/dist/core/router/types/routerElementWrapper.d.ts +2 -0
- package/dist/core/router/types/routerElementWrapper.mjs +1 -0
- package/dist/core/steps/cut.d.ts +1 -2
- package/dist/core/steps/handler.d.ts +1 -2
- package/dist/core/steps/types/stepFunctionParams.d.ts +2 -2
- package/dist/interfaces/node/createHttpServer.cjs +2 -2
- package/dist/interfaces/node/createHttpServer.mjs +2 -2
- package/dist/interfaces/node/hooks/index.d.ts +3 -3
- package/dist/plugins/cacheController/hooks.cjs +2 -1
- package/dist/plugins/cacheController/hooks.d.ts +1 -1
- package/dist/plugins/cacheController/hooks.mjs +2 -1
- package/dist/plugins/cors/headerFunctions/allowHeaders.cjs +11 -0
- package/dist/plugins/cors/headerFunctions/allowHeaders.d.ts +5 -0
- package/dist/plugins/cors/headerFunctions/allowHeaders.mjs +9 -0
- package/dist/plugins/cors/headerFunctions/allowMethods.cjs +16 -0
- package/dist/plugins/cors/headerFunctions/allowMethods.d.ts +6 -0
- package/dist/plugins/cors/headerFunctions/allowMethods.mjs +14 -0
- package/dist/plugins/cors/headerFunctions/allowOrigin.cjs +24 -0
- package/dist/plugins/cors/headerFunctions/allowOrigin.d.ts +7 -0
- package/dist/plugins/cors/headerFunctions/allowOrigin.mjs +22 -0
- package/dist/plugins/cors/headerFunctions/credentials.cjs +11 -0
- package/dist/plugins/cors/headerFunctions/credentials.d.ts +5 -0
- package/dist/plugins/cors/headerFunctions/credentials.mjs +9 -0
- package/dist/plugins/cors/headerFunctions/exposeHeaders.cjs +11 -0
- package/dist/plugins/cors/headerFunctions/exposeHeaders.d.ts +5 -0
- package/dist/plugins/cors/headerFunctions/exposeHeaders.mjs +9 -0
- package/dist/plugins/cors/headerFunctions/index.cjs +19 -0
- package/dist/plugins/cors/headerFunctions/index.d.ts +7 -0
- package/dist/plugins/cors/headerFunctions/index.mjs +7 -0
- package/dist/plugins/cors/headerFunctions/maxAge.cjs +11 -0
- package/dist/plugins/cors/headerFunctions/maxAge.d.ts +5 -0
- package/dist/plugins/cors/headerFunctions/maxAge.mjs +9 -0
- package/dist/plugins/cors/headerFunctions/vary.cjs +35 -0
- package/dist/plugins/cors/headerFunctions/vary.d.ts +5 -0
- package/dist/plugins/cors/headerFunctions/vary.mjs +33 -0
- package/dist/plugins/cors/index.cjs +9 -0
- package/dist/plugins/cors/index.d.ts +2 -0
- package/dist/plugins/cors/index.mjs +2 -0
- package/dist/plugins/cors/metadata.cjs +8 -0
- package/dist/plugins/cors/metadata.d.ts +1 -0
- package/dist/plugins/cors/metadata.mjs +6 -0
- package/dist/plugins/cors/plugin.cjs +108 -0
- package/dist/plugins/cors/plugin.d.ts +12 -0
- package/dist/plugins/cors/plugin.mjs +106 -0
- package/dist/plugins/openApiGenerator/makeOpenApiRoute.d.ts +1 -1
- package/dist/plugins/static/makeRouteFile.d.ts +2 -2
- package/dist/plugins/static/makeRouteFolder.cjs +1 -1
- package/dist/plugins/static/makeRouteFolder.d.ts +2 -2
- package/dist/plugins/static/makeRouteFolder.mjs +1 -1
- package/dist/plugins/static/plugin.d.ts +1 -1
- package/package.json +30 -5
- package/dist/core/functionsBuilders/route/default.d.ts +0 -1
- package/dist/core/router/buildSystemRoute.d.ts +0 -11
- /package/dist/core/{router/decodeUrl.cjs → decodeUrl.cjs} +0 -0
- /package/dist/core/{router/decodeUrl.d.ts → decodeUrl.d.ts} +0 -0
- /package/dist/core/{router/decodeUrl.mjs → decodeUrl.mjs} +0 -0
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('
|
|
3
|
+
var index = require('../../../route/index.cjs');
|
|
4
4
|
var utils = require('@duplojs/utils');
|
|
5
|
-
require('
|
|
5
|
+
require('../../../response/index.cjs');
|
|
6
6
|
var hook = require('./hook.cjs');
|
|
7
|
-
var create = require('
|
|
8
|
-
require('
|
|
9
|
-
var processStep = require('
|
|
10
|
-
var base = require('
|
|
11
|
-
var hook$1 = require('
|
|
12
|
-
var hooks = require('../../route/hooks.cjs');
|
|
7
|
+
var create = require('../create.cjs');
|
|
8
|
+
require('../../steps/index.cjs');
|
|
9
|
+
var processStep = require('../../steps/defaults/processStep.cjs');
|
|
10
|
+
var base = require('../../../response/base.cjs');
|
|
11
|
+
var hook$1 = require('../../../response/hook.cjs');
|
|
13
12
|
|
|
14
13
|
/* eslint-disable @typescript-eslint/prefer-for-of */
|
|
15
14
|
const defaultRouteFunctionBuilder = create.createRouteFunctionBuilder(index.routeKind.has, async (route, { success, buildStep, globalHooksRouteLifeCycle, }) => {
|
|
@@ -33,31 +32,18 @@ const defaultRouteFunctionBuilder = create.createRouteFunctionBuilder(index.rout
|
|
|
33
32
|
const hookAfterSendResponse = utils.pipe(allHooks, utils.A.map(({ afterSendResponse }) => afterSendResponse), utils.A.filter(utils.isType("function")), utils.forward);
|
|
34
33
|
const hookBeforeRouteExecution = utils.pipe(allHooks, utils.A.map(({ beforeRouteExecution }) => beforeRouteExecution), utils.A.filter(utils.isType("function")), utils.forward);
|
|
35
34
|
const hookBeforeSendResponse = utils.pipe(allHooks, utils.A.map(({ beforeSendResponse }) => beforeSendResponse), utils.A.filter(utils.isType("function")), utils.forward);
|
|
36
|
-
const hookOnConstructRequest = utils.pipe(allHooks, utils.A.map(({ onConstructRequest }) => onConstructRequest), utils.A.filter(utils.isType("function")), utils.forward);
|
|
37
35
|
const hookError = utils.pipe(allHooks, utils.A.map(({ error }) => error), utils.A.filter(utils.isType("function")), utils.forward);
|
|
38
36
|
const hookSendResponse = utils.pipe(allHooks, utils.A.map(({ sendResponse }) => sendResponse), utils.A.filter(utils.isType("function")), utils.forward);
|
|
39
|
-
const hooks
|
|
40
|
-
afterSendResponse: hook.buildHookAfter(hookAfterSendResponse),
|
|
37
|
+
const hooks = {
|
|
41
38
|
beforeRouteExecution: hook.buildHookBefore(hookBeforeRouteExecution),
|
|
39
|
+
afterSendResponse: hook.buildHookAfter(hookAfterSendResponse),
|
|
42
40
|
beforeSendResponse: hook.buildHookAfter(hookBeforeSendResponse),
|
|
43
|
-
onConstructRequest: hookOnConstructRequest.length
|
|
44
|
-
? async (params) => {
|
|
45
|
-
let newRequest = params.request;
|
|
46
|
-
for (let index = 0; index < hookOnConstructRequest.length; index++) {
|
|
47
|
-
newRequest = await hookOnConstructRequest[index]({
|
|
48
|
-
...params,
|
|
49
|
-
request: newRequest,
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
return newRequest;
|
|
53
|
-
}
|
|
54
|
-
: (params) => params.request,
|
|
55
41
|
error: hook.buildHookErrorBefore(hookError),
|
|
56
42
|
sendResponse: hook.buildHookAfter(hookSendResponse),
|
|
57
43
|
};
|
|
58
44
|
async function routeExecution(request) {
|
|
59
45
|
try {
|
|
60
|
-
const beforeRouteExecutionResult = await hooks
|
|
46
|
+
const beforeRouteExecutionResult = await hooks.beforeRouteExecution({
|
|
61
47
|
request,
|
|
62
48
|
exit: hook.exitHookFunction,
|
|
63
49
|
next: hook.nextHookFunction,
|
|
@@ -84,7 +70,7 @@ const defaultRouteFunctionBuilder = create.createRouteFunctionBuilder(index.rout
|
|
|
84
70
|
return new base.Response("500", "missing-response", undefined);
|
|
85
71
|
}
|
|
86
72
|
catch (error) {
|
|
87
|
-
const errorResult = await hooks
|
|
73
|
+
const errorResult = await hooks.error({
|
|
88
74
|
request,
|
|
89
75
|
error,
|
|
90
76
|
exit: hook.exitHookFunction,
|
|
@@ -98,21 +84,23 @@ const defaultRouteFunctionBuilder = create.createRouteFunctionBuilder(index.rout
|
|
|
98
84
|
}
|
|
99
85
|
}
|
|
100
86
|
return success(async (request) => {
|
|
101
|
-
const
|
|
102
|
-
request,
|
|
103
|
-
addRequestProperties: hooks.hookRouteLifeCycleAddRequestProperties(request),
|
|
104
|
-
});
|
|
105
|
-
const currentResponse = await routeExecution(currentRequest);
|
|
87
|
+
const currentResponse = await routeExecution(request);
|
|
106
88
|
const afterHookParams = {
|
|
107
|
-
request
|
|
89
|
+
request,
|
|
108
90
|
currentResponse,
|
|
109
91
|
exit: hook.exitHookFunction,
|
|
110
92
|
next: hook.nextHookFunction,
|
|
111
93
|
};
|
|
112
|
-
await hooks
|
|
113
|
-
await hooks
|
|
114
|
-
await hooks
|
|
94
|
+
await hooks.beforeSendResponse(afterHookParams);
|
|
95
|
+
await hooks.sendResponse(afterHookParams);
|
|
96
|
+
await hooks.afterSendResponse(afterHookParams);
|
|
115
97
|
});
|
|
116
98
|
});
|
|
117
99
|
|
|
100
|
+
exports.buildHookAfter = hook.buildHookAfter;
|
|
101
|
+
exports.buildHookBefore = hook.buildHookBefore;
|
|
102
|
+
exports.buildHookErrorBefore = hook.buildHookErrorBefore;
|
|
103
|
+
exports.createHookResponse = hook.createHookResponse;
|
|
104
|
+
exports.exitHookFunction = hook.exitHookFunction;
|
|
105
|
+
exports.nextHookFunction = hook.nextHookFunction;
|
|
118
106
|
exports.defaultRouteFunctionBuilder = defaultRouteFunctionBuilder;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from "./hook";
|
|
2
|
+
export declare const defaultRouteFunctionBuilder: (route: import("../../../route").Route, params: import("..").RouteFunctionBuilderParams) => import("@duplojs/utils").MaybePromise<import("..").BuildRouteNotSupportEither | import("..").BuildRouteSuccessEither | import("../..").BuildStepNotSupportEither>;
|
|
@@ -1,13 +1,12 @@
|
|
|
1
|
-
import { routeKind } from '
|
|
1
|
+
import { routeKind } from '../../../route/index.mjs';
|
|
2
2
|
import { E, A, pipe, isType, forward } from '@duplojs/utils';
|
|
3
|
-
import '
|
|
3
|
+
import '../../../response/index.mjs';
|
|
4
4
|
import { buildHookAfter, buildHookErrorBefore, buildHookBefore, createHookResponse, nextHookFunction, exitHookFunction } from './hook.mjs';
|
|
5
|
-
import { createRouteFunctionBuilder } from '
|
|
6
|
-
import '
|
|
7
|
-
import { buildStepsFunction } from '
|
|
8
|
-
import { Response } from '
|
|
9
|
-
import { HookResponse } from '
|
|
10
|
-
import { hookRouteLifeCycleAddRequestProperties } from '../../route/hooks.mjs';
|
|
5
|
+
import { createRouteFunctionBuilder } from '../create.mjs';
|
|
6
|
+
import '../../steps/index.mjs';
|
|
7
|
+
import { buildStepsFunction } from '../../steps/defaults/processStep.mjs';
|
|
8
|
+
import { Response } from '../../../response/base.mjs';
|
|
9
|
+
import { HookResponse } from '../../../response/hook.mjs';
|
|
11
10
|
|
|
12
11
|
/* eslint-disable @typescript-eslint/prefer-for-of */
|
|
13
12
|
const defaultRouteFunctionBuilder = createRouteFunctionBuilder(routeKind.has, async (route, { success, buildStep, globalHooksRouteLifeCycle, }) => {
|
|
@@ -31,25 +30,12 @@ const defaultRouteFunctionBuilder = createRouteFunctionBuilder(routeKind.has, as
|
|
|
31
30
|
const hookAfterSendResponse = pipe(allHooks, A.map(({ afterSendResponse }) => afterSendResponse), A.filter(isType("function")), forward);
|
|
32
31
|
const hookBeforeRouteExecution = pipe(allHooks, A.map(({ beforeRouteExecution }) => beforeRouteExecution), A.filter(isType("function")), forward);
|
|
33
32
|
const hookBeforeSendResponse = pipe(allHooks, A.map(({ beforeSendResponse }) => beforeSendResponse), A.filter(isType("function")), forward);
|
|
34
|
-
const hookOnConstructRequest = pipe(allHooks, A.map(({ onConstructRequest }) => onConstructRequest), A.filter(isType("function")), forward);
|
|
35
33
|
const hookError = pipe(allHooks, A.map(({ error }) => error), A.filter(isType("function")), forward);
|
|
36
34
|
const hookSendResponse = pipe(allHooks, A.map(({ sendResponse }) => sendResponse), A.filter(isType("function")), forward);
|
|
37
35
|
const hooks = {
|
|
38
|
-
afterSendResponse: buildHookAfter(hookAfterSendResponse),
|
|
39
36
|
beforeRouteExecution: buildHookBefore(hookBeforeRouteExecution),
|
|
37
|
+
afterSendResponse: buildHookAfter(hookAfterSendResponse),
|
|
40
38
|
beforeSendResponse: buildHookAfter(hookBeforeSendResponse),
|
|
41
|
-
onConstructRequest: hookOnConstructRequest.length
|
|
42
|
-
? async (params) => {
|
|
43
|
-
let newRequest = params.request;
|
|
44
|
-
for (let index = 0; index < hookOnConstructRequest.length; index++) {
|
|
45
|
-
newRequest = await hookOnConstructRequest[index]({
|
|
46
|
-
...params,
|
|
47
|
-
request: newRequest,
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
return newRequest;
|
|
51
|
-
}
|
|
52
|
-
: (params) => params.request,
|
|
53
39
|
error: buildHookErrorBefore(hookError),
|
|
54
40
|
sendResponse: buildHookAfter(hookSendResponse),
|
|
55
41
|
};
|
|
@@ -96,13 +82,9 @@ const defaultRouteFunctionBuilder = createRouteFunctionBuilder(routeKind.has, as
|
|
|
96
82
|
}
|
|
97
83
|
}
|
|
98
84
|
return success(async (request) => {
|
|
99
|
-
const
|
|
100
|
-
request,
|
|
101
|
-
addRequestProperties: hookRouteLifeCycleAddRequestProperties(request),
|
|
102
|
-
});
|
|
103
|
-
const currentResponse = await routeExecution(currentRequest);
|
|
85
|
+
const currentResponse = await routeExecution(request);
|
|
104
86
|
const afterHookParams = {
|
|
105
|
-
request
|
|
87
|
+
request,
|
|
106
88
|
currentResponse,
|
|
107
89
|
exit: exitHookFunction,
|
|
108
90
|
next: nextHookFunction,
|
|
@@ -113,4 +95,4 @@ const defaultRouteFunctionBuilder = createRouteFunctionBuilder(routeKind.has, as
|
|
|
113
95
|
});
|
|
114
96
|
});
|
|
115
97
|
|
|
116
|
-
export { defaultRouteFunctionBuilder };
|
|
98
|
+
export { buildHookAfter, buildHookBefore, buildHookErrorBefore, createHookResponse, defaultRouteFunctionBuilder, exitHookFunction, nextHookFunction };
|
|
@@ -2,17 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
var build = require('./build.cjs');
|
|
4
4
|
var create = require('./create.cjs');
|
|
5
|
-
var
|
|
6
|
-
var hook = require('./hook.cjs');
|
|
5
|
+
var index = require('./default/index.cjs');
|
|
7
6
|
|
|
8
7
|
|
|
9
8
|
|
|
10
9
|
exports.buildRouteFunction = build.buildRouteFunction;
|
|
11
10
|
exports.createRouteFunctionBuilder = create.createRouteFunctionBuilder;
|
|
12
|
-
exports.defaultRouteFunctionBuilder =
|
|
13
|
-
exports.buildHookAfter = hook.buildHookAfter;
|
|
14
|
-
exports.buildHookBefore = hook.buildHookBefore;
|
|
15
|
-
exports.buildHookErrorBefore = hook.buildHookErrorBefore;
|
|
16
|
-
exports.createHookResponse = hook.createHookResponse;
|
|
17
|
-
exports.exitHookFunction = hook.exitHookFunction;
|
|
18
|
-
exports.nextHookFunction = hook.nextHookFunction;
|
|
11
|
+
exports.defaultRouteFunctionBuilder = index.defaultRouteFunctionBuilder;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
1
|
export { buildRouteFunction } from './build.mjs';
|
|
2
2
|
export { createRouteFunctionBuilder } from './create.mjs';
|
|
3
|
-
export { defaultRouteFunctionBuilder } from './default.mjs';
|
|
4
|
-
export { buildHookAfter, buildHookBefore, buildHookErrorBefore, createHookResponse, exitHookFunction, nextHookFunction } from './hook.mjs';
|
|
3
|
+
export { defaultRouteFunctionBuilder } from './default/index.mjs';
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type Environment } from "../../types";
|
|
2
|
+
import { type createRouterFunctionBuilder } from "./create";
|
|
3
|
+
import { type Request } from "../../request";
|
|
4
|
+
import { type RouterElementWrapper } from "../../router/types/routerElementWrapper";
|
|
5
|
+
import { type RouterElementSystem } from "../../router/types/routerElementSystem";
|
|
6
|
+
export interface BuildRouterFunctionParams {
|
|
7
|
+
readonly routerFunctionBuilder: ReturnType<typeof createRouterFunctionBuilder>;
|
|
8
|
+
readonly environment: Environment;
|
|
9
|
+
readonly routerElementWrapper: RouterElementWrapper;
|
|
10
|
+
readonly classRequest: typeof Request;
|
|
11
|
+
readonly notfoundRouterElement: RouterElementSystem;
|
|
12
|
+
readonly malformedUrlRouterElement: RouterElementSystem;
|
|
13
|
+
}
|
|
14
|
+
export declare function buildRouterFunction({ routerFunctionBuilder, ...params }: BuildRouterFunctionParams): Promise<import("../..").BuildedRouter>;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type Request } from "../../request";
|
|
2
|
+
import { type BuildedRouter } from "../../router";
|
|
3
|
+
import { type RouterElementSystem } from "../../router/types/routerElementSystem";
|
|
4
|
+
import { type RouterElementWrapper } from "../../router/types/routerElementWrapper";
|
|
5
|
+
import { type Environment } from "../../types";
|
|
6
|
+
import { type MaybePromise } from "@duplojs/utils";
|
|
7
|
+
export interface RouterFunctionBuilderParams {
|
|
8
|
+
readonly environment: Environment;
|
|
9
|
+
readonly routerElementWrapper: RouterElementWrapper;
|
|
10
|
+
readonly classRequest: typeof Request;
|
|
11
|
+
readonly notfoundRouterElement: RouterElementSystem;
|
|
12
|
+
readonly malformedUrlRouterElement: RouterElementSystem;
|
|
13
|
+
}
|
|
14
|
+
export type RouterFunctionBuilder = (params: RouterFunctionBuilderParams) => MaybePromise<BuildedRouter>;
|
|
15
|
+
export declare function createRouterFunctionBuilder(theFunction: RouterFunctionBuilder): RouterFunctionBuilder;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var decodeUrl = require('../../../decodeUrl.cjs');
|
|
4
|
+
var create = require('../create.cjs');
|
|
5
|
+
|
|
6
|
+
const defaultRouterFunctionBuilder = create.createRouterFunctionBuilder(({ routerElementWrapper, malformedUrlRouterElement, notfoundRouterElement, classRequest, }) => (initializationData) => {
|
|
7
|
+
const routerElements = routerElementWrapper[initializationData.method];
|
|
8
|
+
const decodedUrl = decodeUrl.decodeUrl(initializationData.url);
|
|
9
|
+
if (!decodedUrl) {
|
|
10
|
+
return malformedUrlRouterElement.buildedRoute(new classRequest({
|
|
11
|
+
...initializationData,
|
|
12
|
+
params: {},
|
|
13
|
+
path: "",
|
|
14
|
+
query: {},
|
|
15
|
+
matchedPath: null,
|
|
16
|
+
bodyReader: malformedUrlRouterElement.bodyReader,
|
|
17
|
+
}));
|
|
18
|
+
}
|
|
19
|
+
if (!routerElements) {
|
|
20
|
+
return notfoundRouterElement.buildedRoute(new classRequest({
|
|
21
|
+
...initializationData,
|
|
22
|
+
...decodedUrl,
|
|
23
|
+
params: {},
|
|
24
|
+
matchedPath: null,
|
|
25
|
+
bodyReader: notfoundRouterElement.bodyReader,
|
|
26
|
+
}));
|
|
27
|
+
}
|
|
28
|
+
// eslint-disable-next-line @typescript-eslint/prefer-for-of
|
|
29
|
+
for (let index = 0; index < routerElements.length; index++) {
|
|
30
|
+
const routerElement = routerElements[index];
|
|
31
|
+
const result = routerElement.pattern.exec(decodedUrl.path);
|
|
32
|
+
if (!result) {
|
|
33
|
+
continue;
|
|
34
|
+
}
|
|
35
|
+
return routerElement.buildedRoute(new classRequest({
|
|
36
|
+
...initializationData,
|
|
37
|
+
...decodedUrl,
|
|
38
|
+
params: result.groups ?? {},
|
|
39
|
+
matchedPath: routerElement.matchedPath,
|
|
40
|
+
bodyReader: routerElement.bodyReader,
|
|
41
|
+
}));
|
|
42
|
+
}
|
|
43
|
+
return notfoundRouterElement.buildedRoute(new classRequest({
|
|
44
|
+
...initializationData,
|
|
45
|
+
...decodedUrl,
|
|
46
|
+
params: {},
|
|
47
|
+
matchedPath: null,
|
|
48
|
+
bodyReader: notfoundRouterElement.bodyReader,
|
|
49
|
+
}));
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
exports.defaultRouterFunctionBuilder = defaultRouterFunctionBuilder;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const defaultRouterFunctionBuilder: import("..").RouterFunctionBuilder;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { decodeUrl } from '../../../decodeUrl.mjs';
|
|
2
|
+
import { createRouterFunctionBuilder } from '../create.mjs';
|
|
3
|
+
|
|
4
|
+
const defaultRouterFunctionBuilder = createRouterFunctionBuilder(({ routerElementWrapper, malformedUrlRouterElement, notfoundRouterElement, classRequest, }) => (initializationData) => {
|
|
5
|
+
const routerElements = routerElementWrapper[initializationData.method];
|
|
6
|
+
const decodedUrl = decodeUrl(initializationData.url);
|
|
7
|
+
if (!decodedUrl) {
|
|
8
|
+
return malformedUrlRouterElement.buildedRoute(new classRequest({
|
|
9
|
+
...initializationData,
|
|
10
|
+
params: {},
|
|
11
|
+
path: "",
|
|
12
|
+
query: {},
|
|
13
|
+
matchedPath: null,
|
|
14
|
+
bodyReader: malformedUrlRouterElement.bodyReader,
|
|
15
|
+
}));
|
|
16
|
+
}
|
|
17
|
+
if (!routerElements) {
|
|
18
|
+
return notfoundRouterElement.buildedRoute(new classRequest({
|
|
19
|
+
...initializationData,
|
|
20
|
+
...decodedUrl,
|
|
21
|
+
params: {},
|
|
22
|
+
matchedPath: null,
|
|
23
|
+
bodyReader: notfoundRouterElement.bodyReader,
|
|
24
|
+
}));
|
|
25
|
+
}
|
|
26
|
+
// eslint-disable-next-line @typescript-eslint/prefer-for-of
|
|
27
|
+
for (let index = 0; index < routerElements.length; index++) {
|
|
28
|
+
const routerElement = routerElements[index];
|
|
29
|
+
const result = routerElement.pattern.exec(decodedUrl.path);
|
|
30
|
+
if (!result) {
|
|
31
|
+
continue;
|
|
32
|
+
}
|
|
33
|
+
return routerElement.buildedRoute(new classRequest({
|
|
34
|
+
...initializationData,
|
|
35
|
+
...decodedUrl,
|
|
36
|
+
params: result.groups ?? {},
|
|
37
|
+
matchedPath: routerElement.matchedPath,
|
|
38
|
+
bodyReader: routerElement.bodyReader,
|
|
39
|
+
}));
|
|
40
|
+
}
|
|
41
|
+
return notfoundRouterElement.buildedRoute(new classRequest({
|
|
42
|
+
...initializationData,
|
|
43
|
+
...decodedUrl,
|
|
44
|
+
params: {},
|
|
45
|
+
matchedPath: null,
|
|
46
|
+
bodyReader: notfoundRouterElement.bodyReader,
|
|
47
|
+
}));
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
export { defaultRouterFunctionBuilder };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var create = require('./create.cjs');
|
|
4
|
+
var index = require('./default/index.cjs');
|
|
5
|
+
var build = require('./build.cjs');
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
exports.createRouterFunctionBuilder = create.createRouterFunctionBuilder;
|
|
10
|
+
exports.defaultRouterFunctionBuilder = index.defaultRouterFunctionBuilder;
|
|
11
|
+
exports.buildRouterFunction = build.buildRouterFunction;
|
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
import { E, type MaybePromise } from "@duplojs/utils";
|
|
2
|
-
import { type Steps } from "../../steps/types";
|
|
3
|
-
import { type Floor } from "../../floor";
|
|
2
|
+
import { type BuildedStep, type Steps } from "../../steps/types";
|
|
4
3
|
import { type HookRouteLifeCycle } from "../../route";
|
|
5
|
-
import { type
|
|
6
|
-
import { type ResponseContract, type Response } from "../../response";
|
|
4
|
+
import { type ResponseContract } from "../../response";
|
|
7
5
|
import { type Environment } from "../../types";
|
|
8
|
-
export type BuildedStepFunction = (request: Request, floor: Floor) => MaybePromise<Floor | Response>;
|
|
9
6
|
export interface BuildStepResult {
|
|
10
|
-
readonly buildedFunction:
|
|
7
|
+
readonly buildedFunction: BuildedStep;
|
|
11
8
|
readonly hooksRouteLifeCycle: readonly HookRouteLifeCycle[];
|
|
12
9
|
}
|
|
13
10
|
export type BuildStepSuccessEither = E.Right<"buildSuccess", BuildStepResult>;
|
|
@@ -5,6 +5,6 @@ export declare const defaultMalformedUrlHandler: import("../steps").HandlerStep<
|
|
|
5
5
|
readonly coerce: boolean;
|
|
6
6
|
readonly checkers: readonly [];
|
|
7
7
|
}>>>;
|
|
8
|
-
theFunction: (__: import("..").Floor, { response }: import("../steps").HandlerStepFunctionParams<import("
|
|
8
|
+
theFunction: (__: import("..").Floor, { response }: import("../steps").HandlerStepFunctionParams<import("../response").ServerSentEventsPredictedResponse<"200" | "201" | "202" | "203" | "204" | "205" | "206" | "207" | "208" | "209" | "210" | "211" | "212" | "213" | "214" | "215" | "216" | "217" | "218" | "219" | "220" | "221" | "222" | "223" | "224" | "225" | "226" | "227" | "228" | "229" | "230" | "231" | "232" | "233" | "234" | "235" | "236" | "237" | "238" | "239" | "240" | "241" | "242" | "243" | "244" | "245" | "246" | "247" | "248" | "249" | "250" | "251" | "252" | "253" | "254" | "255" | "256" | "257" | "258" | "259" | "260" | "261" | "262" | "263" | "264" | "265" | "266" | "267" | "268" | "269" | "270" | "271" | "272" | "273" | "274" | "275" | "276" | "277" | "278" | "279" | "280" | "281" | "282" | "283" | "284" | "285" | "286" | "287" | "288" | "289" | "290" | "291" | "292" | "293" | "294" | "295" | "296" | "297" | "298" | "299", string, import("..").ServerSentEvents.DefinitionShape> | import("../response").PredictedResponse<import("../response").ResponseCode, string, unknown>>) => never;
|
|
9
9
|
metadata: never[];
|
|
10
10
|
}>;
|
|
@@ -6,6 +6,6 @@ export declare const defaultNotfoundHandler: import("../steps").HandlerStep<{
|
|
|
6
6
|
readonly coerce: boolean;
|
|
7
7
|
readonly checkers: readonly [];
|
|
8
8
|
}>>>;
|
|
9
|
-
theFunction: (floor: import("..").Floor, { request, response }: import("../steps").HandlerStepFunctionParams<import("
|
|
9
|
+
theFunction: (floor: import("..").Floor, { request, response }: import("../steps").HandlerStepFunctionParams<import("../response").ServerSentEventsPredictedResponse<"200" | "201" | "202" | "203" | "204" | "205" | "206" | "207" | "208" | "209" | "210" | "211" | "212" | "213" | "214" | "215" | "216" | "217" | "218" | "219" | "220" | "221" | "222" | "223" | "224" | "225" | "226" | "227" | "228" | "229" | "230" | "231" | "232" | "233" | "234" | "235" | "236" | "237" | "238" | "239" | "240" | "241" | "242" | "243" | "244" | "245" | "246" | "247" | "248" | "249" | "250" | "251" | "252" | "253" | "254" | "255" | "256" | "257" | "258" | "259" | "260" | "261" | "262" | "263" | "264" | "265" | "266" | "267" | "268" | "269" | "270" | "271" | "272" | "273" | "274" | "275" | "276" | "277" | "278" | "279" | "280" | "281" | "282" | "283" | "284" | "285" | "286" | "287" | "288" | "289" | "290" | "291" | "292" | "293" | "294" | "295" | "296" | "297" | "298" | "299", string, import("..").ServerSentEvents.DefinitionShape> | import("../response").PredictedResponse<import("../response").ResponseCode, string, unknown>>) => never;
|
|
10
10
|
metadata: never[];
|
|
11
11
|
}>;
|
package/dist/core/hub/hooks.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type Route } from "../route";
|
|
2
2
|
import { type EscapeVoid, type Kind, type MaybePromise } from "@duplojs/utils";
|
|
3
3
|
import { type Hub } from ".";
|
|
4
|
-
import { type
|
|
4
|
+
import { type RouterParams } from "../router";
|
|
5
5
|
import { type HttpServerParams } from "../types";
|
|
6
6
|
export declare const hookServerExitKind: import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/server-hook-exit", unknown>>;
|
|
7
7
|
export interface ServerHookExit extends Kind<typeof hookServerExitKind.definition> {
|
|
@@ -19,7 +19,7 @@ export interface HttpServerErrorParams {
|
|
|
19
19
|
readonly error: unknown;
|
|
20
20
|
next(): ServerHookNext;
|
|
21
21
|
exit(): ServerHookExit;
|
|
22
|
-
routerInitializationData:
|
|
22
|
+
routerInitializationData: RouterParams;
|
|
23
23
|
}
|
|
24
24
|
export type HookServerError = (httpServerErrorParams: HttpServerErrorParams) => MaybePromise<ServerHookExit | ServerHookNext>;
|
|
25
25
|
export declare function serverErrorExitHookFunction(): Kind<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/server-hook-exit", unknown>, unknown>;
|
package/dist/core/hub/index.cjs
CHANGED
|
@@ -20,6 +20,7 @@ class Hub extends utils.kindHeritage("hub", kind.createCoreLibKind("hub")) {
|
|
|
20
20
|
hooksRouteLifeCycle = [];
|
|
21
21
|
hooksHubLifeCycle = [];
|
|
22
22
|
routes = new Set();
|
|
23
|
+
routerFunctionBuilder = undefined;
|
|
23
24
|
routeFunctionBuilders = [];
|
|
24
25
|
stepFunctionBuilders = [];
|
|
25
26
|
bodyReaderImplementations = [defaultEmptyReaderImplementation.defaultEmptyReaderImplementation];
|
|
@@ -36,6 +37,10 @@ class Hub extends utils.kindHeritage("hub", kind.createCoreLibKind("hub")) {
|
|
|
36
37
|
utils.pipe(routes, utils.P.when(index$1.routeKind.has, utils.A.coalescing), utils.P.when(utils.isType("iterable"), utils.A.from), utils.P.otherwise(utils.O.values), utils.A.map((route) => this.routes.add(route)));
|
|
37
38
|
return this;
|
|
38
39
|
}
|
|
40
|
+
setRouterFunctionBuilder(functionBuilder) {
|
|
41
|
+
this.routerFunctionBuilder = functionBuilder;
|
|
42
|
+
return this;
|
|
43
|
+
}
|
|
39
44
|
addRouteFunctionBuilder(functionBuilder) {
|
|
40
45
|
this.routeFunctionBuilders.push(...utils.A.coalescing(functionBuilder));
|
|
41
46
|
return this;
|
package/dist/core/hub/index.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ import { type ClientErrorResponseCode, type ResponseContract } from "../response
|
|
|
7
7
|
import { type Environment } from "../types";
|
|
8
8
|
import { type createStepFunctionBuilder } from "../functionsBuilders/steps";
|
|
9
9
|
import { type createRouteFunctionBuilder } from "../functionsBuilders/route";
|
|
10
|
+
import { type createRouterFunctionBuilder } from "../functionsBuilders/router";
|
|
10
11
|
export * from "./hooks";
|
|
11
12
|
export * from "./defaultNotfoundHandler";
|
|
12
13
|
export * from "./defaultExtractContract";
|
|
@@ -35,6 +36,7 @@ export declare class Hub<GenericConfig extends HubConfig = HubConfig> extends Hu
|
|
|
35
36
|
hooksRouteLifeCycle: HookRouteLifeCycle[];
|
|
36
37
|
hooksHubLifeCycle: HookHubLifeCycle[];
|
|
37
38
|
routes: Set<Route<import("../route").RouteDefinition>>;
|
|
39
|
+
routerFunctionBuilder: ReturnType<typeof createRouterFunctionBuilder> | undefined;
|
|
38
40
|
routeFunctionBuilders: ReturnType<typeof createRouteFunctionBuilder>[];
|
|
39
41
|
stepFunctionBuilders: ReturnType<typeof createStepFunctionBuilder>[];
|
|
40
42
|
bodyReaderImplementations: BodyReaderImplementation[];
|
|
@@ -45,17 +47,18 @@ export declare class Hub<GenericConfig extends HubConfig = HubConfig> extends Hu
|
|
|
45
47
|
malformedUrlHandler: HandlerStep;
|
|
46
48
|
private constructor();
|
|
47
49
|
register(routes: Route | Iterable<Route> | Record<string, Route>): this;
|
|
50
|
+
setRouterFunctionBuilder(functionBuilder: ReturnType<typeof createRouterFunctionBuilder>): this;
|
|
48
51
|
addRouteFunctionBuilder(functionBuilder: MaybeArray<ReturnType<typeof createRouteFunctionBuilder>>): this;
|
|
49
52
|
addStepFunctionBuilder(functionBuilder: MaybeArray<ReturnType<typeof createStepFunctionBuilder>>): this;
|
|
50
53
|
addRouteHooks(hook: MaybeArray<HookRouteLifeCycle>): this;
|
|
51
54
|
addHubHooks(hook: MaybeArray<HookHubLifeCycle>): this;
|
|
52
55
|
addBodyReaderImplementation(bodyReaderImplementation: MaybeArray<BodyReaderImplementation>): this;
|
|
53
56
|
plug(plugin: HubPlugin | ((self: this) => HubPlugin)): this;
|
|
54
|
-
setNotfoundHandler<GenericResponseContract extends ResponseContract.Contract, GenericResponse extends ResponseContract.Convert<GenericResponseContract>>(responseContract: GenericResponseContract, theFunction: (param: HandlerStepFunctionParams<
|
|
57
|
+
setNotfoundHandler<GenericResponseContract extends ResponseContract.Contract, GenericResponse extends ResponseContract.Convert<GenericResponseContract>>(responseContract: GenericResponseContract, theFunction: (param: HandlerStepFunctionParams<GenericResponse>) => MaybePromise<GenericResponse>): this;
|
|
55
58
|
setDefaultExtractContract(responseContract: this["defaultExtractContract"]): this;
|
|
56
59
|
aggregatesHooksHubLifeCycle<GenericHookName extends keyof HookHubLifeCycle>(hookName: GenericHookName): (NonNullable<HookHubLifeCycle[GenericHookName]> extends infer T ? T extends NonNullable<HookHubLifeCycle[GenericHookName]> ? T extends readonly (infer InnerArr)[] ? InnerArr extends readonly (infer InnerArr)[] ? InnerArr : InnerArr : T : never : never)[];
|
|
57
60
|
setDefaultBodyController(bodyController: BodyController): this;
|
|
58
|
-
aggregatesHooksRouteLifeCycle<GenericHookName extends keyof HookRouteLifeCycle>(hookName: GenericHookName): (NonNullable<HookRouteLifeCycle
|
|
59
|
-
setMalformedUrlHandler<GenericResponseContract extends ResponseContract.Contract, GenericResponse extends ResponseContract.Convert<GenericResponseContract>>(responseContract: GenericResponseContract, theFunction: (param: HandlerStepFunctionParams<
|
|
61
|
+
aggregatesHooksRouteLifeCycle<GenericHookName extends keyof HookRouteLifeCycle>(hookName: GenericHookName): (NonNullable<HookRouteLifeCycle[GenericHookName]> extends infer T ? T extends NonNullable<HookRouteLifeCycle[GenericHookName]> ? T extends readonly (infer InnerArr)[] ? InnerArr extends readonly (infer InnerArr)[] ? InnerArr : InnerArr : T : never : never)[];
|
|
62
|
+
setMalformedUrlHandler<GenericResponseContract extends ResponseContract.Contract, GenericResponse extends ResponseContract.Convert<GenericResponseContract>>(responseContract: GenericResponseContract, theFunction: (param: HandlerStepFunctionParams<GenericResponse>) => MaybePromise<GenericResponse>): this;
|
|
60
63
|
}
|
|
61
64
|
export declare function createHub<const GenericConfig extends HubConfig>(config: GenericConfig): Hub<GenericConfig>;
|
package/dist/core/hub/index.mjs
CHANGED
|
@@ -18,6 +18,7 @@ class Hub extends kindHeritage("hub", createCoreLibKind("hub")) {
|
|
|
18
18
|
hooksRouteLifeCycle = [];
|
|
19
19
|
hooksHubLifeCycle = [];
|
|
20
20
|
routes = new Set();
|
|
21
|
+
routerFunctionBuilder = undefined;
|
|
21
22
|
routeFunctionBuilders = [];
|
|
22
23
|
stepFunctionBuilders = [];
|
|
23
24
|
bodyReaderImplementations = [defaultEmptyReaderImplementation];
|
|
@@ -34,6 +35,10 @@ class Hub extends kindHeritage("hub", createCoreLibKind("hub")) {
|
|
|
34
35
|
pipe(routes, P.when(routeKind.has, A.coalescing), P.when(isType("iterable"), A.from), P.otherwise(O.values), A.map((route) => this.routes.add(route)));
|
|
35
36
|
return this;
|
|
36
37
|
}
|
|
38
|
+
setRouterFunctionBuilder(functionBuilder) {
|
|
39
|
+
this.routerFunctionBuilder = functionBuilder;
|
|
40
|
+
return this;
|
|
41
|
+
}
|
|
37
42
|
addRouteFunctionBuilder(functionBuilder) {
|
|
38
43
|
this.routeFunctionBuilders.push(...A.coalescing(functionBuilder));
|
|
39
44
|
return this;
|
|
@@ -12,7 +12,7 @@ async function implementHttpServer(params, initHttpServer) {
|
|
|
12
12
|
index.initDefaultHook(params.hub, params.httpServerParams),
|
|
13
13
|
...params.getInterfaceHooks(params),
|
|
14
14
|
]);
|
|
15
|
-
const router = await index$1.
|
|
15
|
+
const router = await index$1.createRouter(params.hub);
|
|
16
16
|
await hooks.launchHookServer(params.hub.aggregatesHooksHubLifeCycle("beforeStartServer"), params.hub, params.httpServerParams);
|
|
17
17
|
const serverErrorHooks = params.hub.aggregatesHooksHubLifeCycle("serverError");
|
|
18
18
|
function catchCriticalError(error) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type Hub } from "./hub";
|
|
2
|
-
import { type
|
|
2
|
+
import { type RouterParams } from "./router";
|
|
3
3
|
import { type AnyTuple, type MaybePromise } from "@duplojs/utils";
|
|
4
4
|
import { type HttpServerParams } from "./types";
|
|
5
5
|
import { type HookRouteLifeCycle } from "./route";
|
|
@@ -12,7 +12,7 @@ export interface ImplementHttpServerParams {
|
|
|
12
12
|
readonly httpServerParams: HttpServerParams;
|
|
13
13
|
getInterfaceHooks(params: GetInterfaceHooksParams): AnyTuple<HookRouteLifeCycle>;
|
|
14
14
|
}
|
|
15
|
-
export type ExecRouteSystem = (routerInitializationData:
|
|
15
|
+
export type ExecRouteSystem = (routerInitializationData: RouterParams, whenUncaughtError: (error: unknown, routerInitializationData: RouterParams) => MaybePromise<void>) => Promise<void>;
|
|
16
16
|
export interface InitHttpServerParams {
|
|
17
17
|
readonly execRouteSystem: ExecRouteSystem;
|
|
18
18
|
readonly httpServerParams: HttpServerParams;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import './hub/index.mjs';
|
|
2
|
-
import {
|
|
2
|
+
import { createRouter } from './router/index.mjs';
|
|
3
3
|
import { forward } from '@duplojs/utils';
|
|
4
4
|
import { initDefaultHook } from './defaultHooks/index.mjs';
|
|
5
5
|
import { launchHookServer, launchHookServerError, serverErrorNextHookFunction, serverErrorExitHookFunction } from './hub/hooks.mjs';
|
|
@@ -10,7 +10,7 @@ async function implementHttpServer(params, initHttpServer) {
|
|
|
10
10
|
initDefaultHook(params.hub, params.httpServerParams),
|
|
11
11
|
...params.getInterfaceHooks(params),
|
|
12
12
|
]);
|
|
13
|
-
const router = await
|
|
13
|
+
const router = await createRouter(params.hub);
|
|
14
14
|
await launchHookServer(params.hub.aggregatesHooksHubLifeCycle("beforeStartServer"), params.hub, params.httpServerParams);
|
|
15
15
|
const serverErrorHooks = params.hub.aggregatesHooksHubLifeCycle("serverError");
|
|
16
16
|
function catchCriticalError(error) {
|