@duplojs/http 0.6.1 → 0.7.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.
- package/dist/client/getBody.cjs +1 -1
- package/dist/client/getBody.mjs +1 -1
- package/dist/client/hooks.d.ts +1 -25
- package/dist/client/httpClient.d.ts +29 -25
- package/dist/client/promiseRequest.cjs +3 -0
- package/dist/client/promiseRequest.d.ts +31 -39
- package/dist/client/promiseRequest.mjs +4 -1
- package/dist/client/types/clientResponse.d.ts +6 -6
- package/dist/client/types/hooks.d.ts +25 -0
- package/dist/client/types/index.cjs +2 -0
- package/dist/client/types/index.d.ts +2 -0
- package/dist/client/types/index.mjs +2 -0
- package/dist/client/types/promiseRequestParams.cjs +2 -0
- package/dist/client/types/promiseRequestParams.d.ts +9 -0
- package/dist/client/types/promiseRequestParams.mjs +1 -0
- package/dist/client/types/serverRoute.d.ts +19 -1
- package/dist/client/unexpectedResponseError.d.ts +1 -2
- package/dist/core/builders/preflight/route.cjs +1 -0
- package/dist/core/builders/preflight/route.d.ts +4 -2
- package/dist/core/builders/preflight/route.mjs +1 -0
- package/dist/core/builders/route/builder.cjs +1 -0
- package/dist/core/builders/route/builder.d.ts +4 -2
- package/dist/core/builders/route/builder.mjs +1 -0
- package/dist/core/clean/constraint.cjs +24 -0
- package/dist/core/clean/constraint.d.ts +8 -0
- package/dist/core/clean/constraint.mjs +22 -0
- package/dist/core/clean/constraintsSet.cjs +27 -0
- package/dist/core/clean/constraintsSet.d.ts +8 -0
- package/dist/core/clean/constraintsSet.mjs +25 -0
- package/dist/core/clean/entity.cjs +33 -0
- package/dist/core/clean/entity.d.ts +20 -0
- package/dist/core/clean/entity.mjs +31 -0
- package/dist/core/clean/index.cjs +8 -0
- package/dist/core/clean/index.d.ts +5 -0
- package/dist/core/clean/index.mjs +5 -0
- package/dist/core/clean/newType.cjs +15 -0
- package/dist/core/clean/newType.d.ts +8 -0
- package/dist/core/clean/newType.mjs +13 -0
- package/dist/core/clean/primitive.cjs +12 -0
- package/dist/core/clean/primitive.d.ts +8 -0
- package/dist/core/clean/primitive.mjs +10 -0
- package/dist/core/defaultHooks/index.cjs +50 -0
- package/dist/core/defaultHooks/index.d.ts +5 -0
- package/dist/core/defaultHooks/index.mjs +48 -0
- package/dist/{interfaces/node/error → core/errors}/bodyParseWrongChunkReceived.cjs +6 -4
- package/dist/core/errors/bodyParseWrongChunkReceived.d.ts +9 -0
- package/dist/core/errors/bodyParseWrongChunkReceived.mjs +14 -0
- package/dist/{interfaces/node/error → core/errors}/bodySizeExceedsLimitError.cjs +2 -2
- package/dist/{interfaces/node/error → core/errors}/bodySizeExceedsLimitError.d.ts +2 -2
- package/dist/{interfaces/node/error → core/errors}/bodySizeExceedsLimitError.mjs +2 -2
- package/dist/{interfaces/node/error → core/errors}/index.cjs +6 -4
- package/dist/{interfaces/node/error → core/errors}/index.d.ts +3 -2
- package/dist/{interfaces/node/error → core/errors}/index.mjs +3 -2
- package/dist/core/errors/parseJsonError.cjs +16 -0
- package/dist/core/errors/parseJsonError.d.ts +9 -0
- package/dist/core/errors/parseJsonError.mjs +14 -0
- package/dist/core/errors/wrongContentTypeError.cjs +16 -0
- package/dist/core/errors/wrongContentTypeError.d.ts +9 -0
- package/dist/core/errors/wrongContentTypeError.mjs +14 -0
- package/dist/core/functionsBuilders/route/create.d.ts +2 -2
- package/dist/core/functionsBuilders/route/default.cjs +0 -11
- package/dist/core/functionsBuilders/route/default.mjs +0 -11
- package/dist/core/functionsBuilders/route/hook.d.ts +2 -2
- package/dist/core/functionsBuilders/steps/create.d.ts +2 -2
- package/dist/core/functionsBuilders/steps/defaults/cutStep.cjs +15 -18
- package/dist/core/functionsBuilders/steps/defaults/cutStep.mjs +15 -18
- package/dist/core/functionsBuilders/steps/defaults/extractStep.cjs +43 -19
- package/dist/core/functionsBuilders/steps/defaults/extractStep.d.ts +2 -1
- package/dist/core/functionsBuilders/steps/defaults/extractStep.mjs +44 -20
- package/dist/core/functionsBuilders/steps/defaults/handlerStep.cjs +14 -8
- package/dist/core/functionsBuilders/steps/defaults/handlerStep.mjs +14 -8
- package/dist/core/hub/defaultBodyController.cjs +8 -0
- package/dist/core/hub/defaultBodyController.d.ts +1 -0
- package/dist/core/hub/defaultBodyController.mjs +6 -0
- package/dist/core/hub/hooks.cjs +3 -1
- package/dist/core/hub/hooks.d.ts +2 -3
- package/dist/core/hub/hooks.mjs +3 -1
- package/dist/core/hub/index.cjs +101 -127
- package/dist/core/hub/index.d.ts +33 -34
- package/dist/core/hub/index.mjs +100 -128
- package/dist/core/implementHttpServer.cjs +5 -5
- package/dist/core/implementHttpServer.d.ts +2 -1
- package/dist/core/implementHttpServer.mjs +5 -5
- package/dist/core/index.cjs +35 -10
- package/dist/core/index.d.ts +3 -0
- package/dist/core/index.mjs +14 -2
- package/dist/core/request/bodyController/base.cjs +36 -0
- package/dist/core/request/bodyController/base.d.ts +28 -0
- package/dist/core/request/bodyController/base.mjs +34 -0
- package/dist/core/request/bodyController/formData.cjs +28 -0
- package/dist/core/request/bodyController/formData.d.ts +22 -0
- package/dist/core/request/bodyController/formData.mjs +25 -0
- package/dist/core/request/bodyController/index.cjs +13 -0
- package/dist/core/request/bodyController/index.d.ts +3 -0
- package/dist/core/request/bodyController/index.mjs +3 -0
- package/dist/core/request/bodyController/text.cjs +14 -0
- package/dist/core/request/bodyController/text.d.ts +10 -0
- package/dist/core/request/bodyController/text.mjs +11 -0
- package/dist/core/{request.cjs → request/index.cjs} +21 -3
- package/dist/core/{request.d.ts → request/index.d.ts} +10 -3
- package/dist/core/request/index.mjs +50 -0
- package/dist/core/response/contract.d.ts +1 -1
- package/dist/core/route/hooks.d.ts +0 -2
- package/dist/core/route/index.d.ts +2 -1
- package/dist/core/router/index.cjs +27 -8
- package/dist/core/router/index.d.ts +2 -1
- package/dist/core/router/index.mjs +28 -10
- package/dist/core/router/notFoundBodyReaderImplementationError.cjs +16 -0
- package/dist/core/router/notFoundBodyReaderImplementationError.d.ts +11 -0
- package/dist/core/router/notFoundBodyReaderImplementationError.mjs +14 -0
- package/dist/core/router/types/buildedRouter.d.ts +3 -3
- package/dist/core/steps/extract.d.ts +3 -1
- package/dist/core/steps/types/steps.d.ts +1 -3
- package/dist/core/types/hosts.cjs +2 -0
- package/dist/core/types/hosts.d.ts +4 -0
- package/dist/core/types/hosts.mjs +1 -0
- package/dist/core/types/httpServerParams.cjs +2 -0
- package/dist/core/types/httpServerParams.d.ts +11 -0
- package/dist/core/types/httpServerParams.mjs +1 -0
- package/dist/core/types/index.cjs +2 -0
- package/dist/core/types/index.d.ts +2 -0
- package/dist/core/types/index.mjs +2 -0
- package/dist/interfaces/bun/types/request.cjs +1 -1
- package/dist/interfaces/bun/types/request.mjs +1 -1
- package/dist/interfaces/node/bodyReaders/formData/error.cjs +14 -0
- package/dist/interfaces/node/bodyReaders/formData/error.d.ts +8 -0
- package/dist/interfaces/node/bodyReaders/formData/error.mjs +12 -0
- package/dist/interfaces/node/bodyReaders/formData/index.cjs +94 -0
- package/dist/interfaces/node/bodyReaders/formData/index.d.ts +4 -0
- package/dist/interfaces/node/bodyReaders/formData/index.mjs +90 -0
- package/dist/interfaces/node/bodyReaders/formData/readRequestFormData.cjs +175 -0
- package/dist/interfaces/node/bodyReaders/formData/readRequestFormData.d.ts +21 -0
- package/dist/interfaces/node/bodyReaders/formData/readRequestFormData.mjs +173 -0
- package/dist/interfaces/node/bodyReaders/index.cjs +9 -0
- package/dist/interfaces/node/bodyReaders/index.d.ts +2 -0
- package/dist/interfaces/node/bodyReaders/index.mjs +2 -0
- package/dist/interfaces/node/bodyReaders/text/index.cjs +41 -0
- package/dist/interfaces/node/bodyReaders/text/index.d.ts +3 -0
- package/dist/interfaces/node/bodyReaders/text/index.mjs +38 -0
- package/dist/interfaces/node/bodyReaders/text/readRequestText.cjs +37 -0
- package/dist/interfaces/node/bodyReaders/text/readRequestText.d.ts +6 -0
- package/dist/interfaces/node/bodyReaders/text/readRequestText.mjs +35 -0
- package/dist/interfaces/node/createHttpServer.cjs +13 -5
- package/dist/interfaces/node/createHttpServer.d.ts +13 -12
- package/dist/interfaces/node/createHttpServer.mjs +13 -5
- package/dist/interfaces/node/hooks/index.cjs +47 -0
- package/dist/interfaces/node/hooks/index.d.ts +5 -0
- package/dist/interfaces/node/hooks/index.mjs +45 -0
- package/dist/interfaces/node/index.cjs +13 -9
- package/dist/interfaces/node/index.d.ts +1 -1
- package/dist/interfaces/node/index.mjs +7 -5
- package/dist/interfaces/node/types/index.cjs +0 -1
- package/dist/interfaces/node/types/index.d.ts +0 -1
- package/dist/interfaces/node/types/index.mjs +0 -1
- package/dist/interfaces/node/types/request.cjs +1 -1
- package/dist/interfaces/node/types/request.mjs +1 -1
- package/dist/plugins/codeGenerator/index.cjs +2 -0
- package/dist/plugins/codeGenerator/index.mjs +1 -1
- package/dist/plugins/codeGenerator/plugin.cjs +8 -4
- package/dist/plugins/codeGenerator/plugin.mjs +9 -5
- package/dist/plugins/codeGenerator/routeToDataParser.cjs +24 -1
- package/dist/plugins/codeGenerator/routeToDataParser.d.ts +34 -0
- package/dist/plugins/codeGenerator/routeToDataParser.mjs +24 -3
- package/dist/plugins/codeGenerator/typescriptTransfomer.cjs +9 -0
- package/dist/plugins/codeGenerator/typescriptTransfomer.d.ts +1 -0
- package/dist/plugins/codeGenerator/typescriptTransfomer.mjs +7 -0
- package/dist/plugins/openApiGenerator/makeOpenApiRoute.d.ts +3 -0
- package/dist/plugins/openApiGenerator/plugin.cjs +3 -3
- package/dist/plugins/openApiGenerator/plugin.mjs +4 -4
- package/dist/plugins/openApiGenerator/routeToOpenApi.cjs +16 -1
- package/dist/plugins/openApiGenerator/routeToOpenApi.d.ts +10 -1
- package/dist/plugins/openApiGenerator/routeToOpenApi.mjs +16 -1
- package/dist/plugins/openApiGenerator/types/entrypoint.d.ts +6 -1
- package/dist/plugins/openApiGenerator/types/openApiMethod.d.ts +1 -1
- package/package.json +5 -6
- package/dist/core/request.mjs +0 -32
- package/dist/interfaces/node/error/bodyParseUnknownError.cjs +0 -16
- package/dist/interfaces/node/error/bodyParseUnknownError.d.ts +0 -9
- package/dist/interfaces/node/error/bodyParseUnknownError.mjs +0 -14
- package/dist/interfaces/node/error/bodyParseWrongChunkReceived.d.ts +0 -8
- package/dist/interfaces/node/error/bodyParseWrongChunkReceived.mjs +0 -12
- package/dist/interfaces/node/hooks.cjs +0 -126
- package/dist/interfaces/node/hooks.d.ts +0 -8
- package/dist/interfaces/node/hooks.mjs +0 -124
- package/dist/interfaces/node/types/host.d.ts +0 -4
- /package/dist/{interfaces/node/types/host.cjs → client/types/hooks.cjs} +0 -0
- /package/dist/{interfaces/node/types/host.mjs → client/types/hooks.mjs} +0 -0
package/dist/core/index.cjs
CHANGED
|
@@ -9,15 +9,18 @@ var checker$2 = require('./checker.cjs');
|
|
|
9
9
|
require('./floor.cjs');
|
|
10
10
|
var kind$1 = require('./kind.cjs');
|
|
11
11
|
var index$1 = require('./process/index.cjs');
|
|
12
|
-
var
|
|
12
|
+
var index$2 = require('./request/index.cjs');
|
|
13
13
|
var presetChecker$1 = require('./presetChecker.cjs');
|
|
14
|
-
var index$
|
|
14
|
+
var index$3 = require('./hub/index.cjs');
|
|
15
15
|
require('./functionsBuilders/index.cjs');
|
|
16
|
-
var index$
|
|
16
|
+
var index$4 = require('./router/index.cjs');
|
|
17
17
|
var stringIdentifier = require('./stringIdentifier.cjs');
|
|
18
18
|
require('./metadata/index.cjs');
|
|
19
19
|
var implementHttpServer = require('./implementHttpServer.cjs');
|
|
20
20
|
var narrowingInput = require('./narrowingInput.cjs');
|
|
21
|
+
require('./clean/index.cjs');
|
|
22
|
+
var index$5 = require('./defaultHooks/index.cjs');
|
|
23
|
+
require('./errors/index.cjs');
|
|
21
24
|
var checker = require('./builders/checker.cjs');
|
|
22
25
|
var builder = require('./builders/route/builder.cjs');
|
|
23
26
|
var store = require('./builders/route/store.cjs');
|
|
@@ -36,9 +39,13 @@ var cut = require('./steps/cut.cjs');
|
|
|
36
39
|
var handler = require('./steps/handler.cjs');
|
|
37
40
|
var process = require('./steps/process.cjs');
|
|
38
41
|
var presetChecker = require('./steps/presetChecker.cjs');
|
|
42
|
+
var base$1 = require('./request/bodyController/base.cjs');
|
|
43
|
+
var formData = require('./request/bodyController/formData.cjs');
|
|
44
|
+
var text = require('./request/bodyController/text.cjs');
|
|
39
45
|
var hooks$1 = require('./hub/hooks.cjs');
|
|
40
46
|
var defaultNotfoundHandler = require('./hub/defaultNotfoundHandler.cjs');
|
|
41
47
|
var defaultExtractContract = require('./hub/defaultExtractContract.cjs');
|
|
48
|
+
var defaultBodyController = require('./hub/defaultBodyController.cjs');
|
|
42
49
|
var build = require('./functionsBuilders/route/build.cjs');
|
|
43
50
|
var create = require('./functionsBuilders/route/create.cjs');
|
|
44
51
|
var _default = require('./functionsBuilders/route/default.cjs');
|
|
@@ -53,8 +60,13 @@ var build$1 = require('./functionsBuilders/steps/build.cjs');
|
|
|
53
60
|
var pathToRegExp = require('./router/pathToRegExp.cjs');
|
|
54
61
|
var buildError = require('./router/buildError.cjs');
|
|
55
62
|
var decodeUrl = require('./router/decodeUrl.cjs');
|
|
56
|
-
var
|
|
63
|
+
var notFoundBodyReaderImplementationError = require('./router/notFoundBodyReaderImplementationError.cjs');
|
|
64
|
+
var base$2 = require('./metadata/base.cjs');
|
|
57
65
|
var ignoreByRouteStore = require('./metadata/ignoreByRouteStore.cjs');
|
|
66
|
+
var wrongContentTypeError = require('./errors/wrongContentTypeError.cjs');
|
|
67
|
+
var bodyParseWrongChunkReceived = require('./errors/bodyParseWrongChunkReceived.cjs');
|
|
68
|
+
var bodySizeExceedsLimitError = require('./errors/bodySizeExceedsLimitError.cjs');
|
|
69
|
+
var parseJsonError = require('./errors/parseJsonError.cjs');
|
|
58
70
|
|
|
59
71
|
|
|
60
72
|
|
|
@@ -66,15 +78,17 @@ exports.createChecker = checker$2.createChecker;
|
|
|
66
78
|
exports.createCoreLibKind = kind$1.createCoreLibKind;
|
|
67
79
|
exports.createProcess = index$1.createProcess;
|
|
68
80
|
exports.processKind = index$1.processKind;
|
|
69
|
-
exports.Request =
|
|
81
|
+
exports.Request = index$2.Request;
|
|
70
82
|
exports.createPresetChecker = presetChecker$1.createPresetChecker;
|
|
71
83
|
exports.presetCheckerKind = presetChecker$1.presetCheckerKind;
|
|
72
|
-
exports.
|
|
73
|
-
exports.
|
|
74
|
-
exports.
|
|
84
|
+
exports.Hub = index$3.Hub;
|
|
85
|
+
exports.createHub = index$3.createHub;
|
|
86
|
+
exports.hubKind = index$3.hubKind;
|
|
87
|
+
exports.buildRouter = index$4.buildRouter;
|
|
75
88
|
exports.createCoreLibStringIdentifier = stringIdentifier.createCoreLibStringIdentifier;
|
|
76
89
|
exports.implementHttpServer = implementHttpServer.implementHttpServer;
|
|
77
90
|
exports.createNarrowingInput = narrowingInput.createNarrowingInput;
|
|
91
|
+
exports.initDefaultHook = index$5.initDefaultHook;
|
|
78
92
|
exports.checkerBuilder = checker.checkerBuilder;
|
|
79
93
|
exports.useCheckerBuilder = checker.useCheckerBuilder;
|
|
80
94
|
exports.routeBuilderHandler = builder.routeBuilderHandler;
|
|
@@ -109,6 +123,11 @@ exports.createProcessStep = process.createProcessStep;
|
|
|
109
123
|
exports.processStepKind = process.processStepKind;
|
|
110
124
|
exports.createPresetCheckerStep = presetChecker.createPresetCheckerStep;
|
|
111
125
|
exports.presetCheckerStepKind = presetChecker.presetCheckerStepKind;
|
|
126
|
+
exports.createBodyController = base$1.createBodyController;
|
|
127
|
+
exports.FormDataBodyController = formData.FormDataBodyController;
|
|
128
|
+
exports.controlBodyAsFormData = formData.controlBodyAsFormData;
|
|
129
|
+
exports.TextBodyController = text.TextBodyController;
|
|
130
|
+
exports.controlBodyAsText = text.controlBodyAsText;
|
|
112
131
|
exports.createHookHubLifeCycle = hooks$1.createHookHubLifeCycle;
|
|
113
132
|
exports.hookServerExitKind = hooks$1.hookServerExitKind;
|
|
114
133
|
exports.hookServerNextKind = hooks$1.hookServerNextKind;
|
|
@@ -119,6 +138,7 @@ exports.serverErrorExitHookFunction = hooks$1.serverErrorExitHookFunction;
|
|
|
119
138
|
exports.serverErrorNextHookFunction = hooks$1.serverErrorNextHookFunction;
|
|
120
139
|
exports.defaultNotfoundHandler = defaultNotfoundHandler.defaultNotfoundHandler;
|
|
121
140
|
exports.defaultExtractContract = defaultExtractContract.defaultExtractContract;
|
|
141
|
+
exports.defaultBodyController = defaultBodyController.defaultBodyController;
|
|
122
142
|
exports.buildRouteFunction = build.buildRouteFunction;
|
|
123
143
|
exports.createRouteFunctionBuilder = create.createRouteFunctionBuilder;
|
|
124
144
|
exports.defaultRouteFunctionBuilder = _default.defaultRouteFunctionBuilder;
|
|
@@ -141,6 +161,11 @@ exports.RouterBuildError = buildError.RouterBuildError;
|
|
|
141
161
|
exports.decodeUrl = decodeUrl.decodeUrl;
|
|
142
162
|
exports.regexQueryAnalyser = decodeUrl.regexQueryAnalyser;
|
|
143
163
|
exports.regexUrlAnalyser = decodeUrl.regexUrlAnalyser;
|
|
144
|
-
exports.
|
|
145
|
-
exports.
|
|
164
|
+
exports.NotFoundBodyReaderImplementationError = notFoundBodyReaderImplementationError.NotFoundBodyReaderImplementationError;
|
|
165
|
+
exports.createMetadata = base$2.createMetadata;
|
|
166
|
+
exports.metadataKind = base$2.metadataKind;
|
|
146
167
|
exports.IgnoreByRouteStoreMetadata = ignoreByRouteStore.IgnoreByRouteStoreMetadata;
|
|
168
|
+
exports.WrongContentTypeError = wrongContentTypeError.WrongContentTypeError;
|
|
169
|
+
exports.BodyParseWrongChunkReceived = bodyParseWrongChunkReceived.BodyParseWrongChunkReceived;
|
|
170
|
+
exports.BodySizeExceedsLimitError = bodySizeExceedsLimitError.BodySizeExceedsLimitError;
|
|
171
|
+
exports.ParseJsonError = parseJsonError.ParseJsonError;
|
package/dist/core/index.d.ts
CHANGED
package/dist/core/index.mjs
CHANGED
|
@@ -7,15 +7,18 @@ export { checkerKind, checkerOutputKind, createChecker } from './checker.mjs';
|
|
|
7
7
|
import './floor.mjs';
|
|
8
8
|
export { createCoreLibKind } from './kind.mjs';
|
|
9
9
|
export { createProcess, processKind } from './process/index.mjs';
|
|
10
|
-
export { Request } from './request.mjs';
|
|
10
|
+
export { Request } from './request/index.mjs';
|
|
11
11
|
export { createPresetChecker, presetCheckerKind } from './presetChecker.mjs';
|
|
12
|
-
export { createHub, hubKind } from './hub/index.mjs';
|
|
12
|
+
export { Hub, createHub, hubKind } from './hub/index.mjs';
|
|
13
13
|
import './functionsBuilders/index.mjs';
|
|
14
14
|
export { buildRouter } from './router/index.mjs';
|
|
15
15
|
export { createCoreLibStringIdentifier } from './stringIdentifier.mjs';
|
|
16
16
|
import './metadata/index.mjs';
|
|
17
17
|
export { implementHttpServer } from './implementHttpServer.mjs';
|
|
18
18
|
export { createNarrowingInput } from './narrowingInput.mjs';
|
|
19
|
+
import './clean/index.mjs';
|
|
20
|
+
export { initDefaultHook } from './defaultHooks/index.mjs';
|
|
21
|
+
import './errors/index.mjs';
|
|
19
22
|
export { checkerBuilder, useCheckerBuilder } from './builders/checker.mjs';
|
|
20
23
|
export { routeBuilderHandler, useRouteBuilder } from './builders/route/builder.mjs';
|
|
21
24
|
export { routeStore } from './builders/route/store.mjs';
|
|
@@ -34,9 +37,13 @@ export { createCutStep, cutStepKind, cutStepOutputKind } from './steps/cut.mjs';
|
|
|
34
37
|
export { createHandlerStep, handlerStepKind } from './steps/handler.mjs';
|
|
35
38
|
export { createProcessStep, processStepKind } from './steps/process.mjs';
|
|
36
39
|
export { createPresetCheckerStep, presetCheckerStepKind } from './steps/presetChecker.mjs';
|
|
40
|
+
export { createBodyController } from './request/bodyController/base.mjs';
|
|
41
|
+
export { FormDataBodyController, controlBodyAsFormData } from './request/bodyController/formData.mjs';
|
|
42
|
+
export { TextBodyController, controlBodyAsText } from './request/bodyController/text.mjs';
|
|
37
43
|
export { createHookHubLifeCycle, hookServerExitKind, hookServerNextKind, launchHookBeforeBuildRoute, launchHookServer, launchHookServerError, serverErrorExitHookFunction, serverErrorNextHookFunction } from './hub/hooks.mjs';
|
|
38
44
|
export { defaultNotfoundHandler } from './hub/defaultNotfoundHandler.mjs';
|
|
39
45
|
export { defaultExtractContract } from './hub/defaultExtractContract.mjs';
|
|
46
|
+
export { defaultBodyController } from './hub/defaultBodyController.mjs';
|
|
40
47
|
export { buildRouteFunction } from './functionsBuilders/route/build.mjs';
|
|
41
48
|
export { createRouteFunctionBuilder } from './functionsBuilders/route/create.mjs';
|
|
42
49
|
export { defaultRouteFunctionBuilder } from './functionsBuilders/route/default.mjs';
|
|
@@ -51,5 +58,10 @@ export { buildStepFunction } from './functionsBuilders/steps/build.mjs';
|
|
|
51
58
|
export { pathToRegExp } from './router/pathToRegExp.mjs';
|
|
52
59
|
export { RouterBuildError } from './router/buildError.mjs';
|
|
53
60
|
export { decodeUrl, regexQueryAnalyser, regexUrlAnalyser } from './router/decodeUrl.mjs';
|
|
61
|
+
export { NotFoundBodyReaderImplementationError } from './router/notFoundBodyReaderImplementationError.mjs';
|
|
54
62
|
export { createMetadata, metadataKind } from './metadata/base.mjs';
|
|
55
63
|
export { IgnoreByRouteStoreMetadata } from './metadata/ignoreByRouteStore.mjs';
|
|
64
|
+
export { WrongContentTypeError } from './errors/wrongContentTypeError.mjs';
|
|
65
|
+
export { BodyParseWrongChunkReceived } from './errors/bodyParseWrongChunkReceived.mjs';
|
|
66
|
+
export { BodySizeExceedsLimitError } from './errors/bodySizeExceedsLimitError.mjs';
|
|
67
|
+
export { ParseJsonError } from './errors/parseJsonError.mjs';
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var kind = require('../../kind.cjs');
|
|
4
|
+
var utils = require('@duplojs/utils');
|
|
5
|
+
|
|
6
|
+
const bodyReaderKind = kind.createCoreLibKind("body-reader");
|
|
7
|
+
const bodyReaderImplementationKind = kind.createCoreLibKind("body-reader-implementation");
|
|
8
|
+
const bodyControllerKind = kind.createCoreLibKind("body-controller");
|
|
9
|
+
const bodyControllerHandlerKind = kind.createCoreLibKind("body-controller-handler");
|
|
10
|
+
function createBodyController(name) {
|
|
11
|
+
return bodyControllerHandlerKind.setTo({
|
|
12
|
+
name,
|
|
13
|
+
create(params) {
|
|
14
|
+
return bodyControllerKind.setTo({
|
|
15
|
+
name,
|
|
16
|
+
params,
|
|
17
|
+
tryToCreateReader(readerImplementation) {
|
|
18
|
+
if (bodyReaderImplementationKind.getValue(readerImplementation) !== name) {
|
|
19
|
+
return utils.E.fail();
|
|
20
|
+
}
|
|
21
|
+
return utils.E.success(bodyReaderKind.setTo({
|
|
22
|
+
read: (request) => readerImplementation.read(request, params),
|
|
23
|
+
}, name));
|
|
24
|
+
},
|
|
25
|
+
}, name);
|
|
26
|
+
},
|
|
27
|
+
createReaderImplementation(read) {
|
|
28
|
+
return bodyReaderImplementationKind.setTo({ read }, name);
|
|
29
|
+
},
|
|
30
|
+
is(input) {
|
|
31
|
+
return bodyControllerKind.has(input) && bodyControllerKind.getValue(input) === name;
|
|
32
|
+
},
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
exports.createBodyController = createBodyController;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { type Request } from "../../request";
|
|
2
|
+
import { E, type Kind } from "@duplojs/utils";
|
|
3
|
+
export interface BodyControllerParams {
|
|
4
|
+
bodyMaxSize?: number;
|
|
5
|
+
}
|
|
6
|
+
declare const bodyReaderKind: import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/body-reader", string>>;
|
|
7
|
+
export interface BodyReader<GenericName extends string = string> extends Kind<typeof bodyReaderKind.definition, GenericName> {
|
|
8
|
+
read(request: Request): Promise<E.Success | E.Error<Error>>;
|
|
9
|
+
}
|
|
10
|
+
declare const bodyReaderImplementationKind: import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/body-reader-implementation", string>>;
|
|
11
|
+
export interface BodyReaderImplementation<GenericName extends string = string, GenericParams extends BodyControllerParams = BodyControllerParams> extends Kind<typeof bodyReaderImplementationKind.definition, GenericName> {
|
|
12
|
+
read(request: Request, params: GenericParams): Promise<E.Success | E.Error<Error>>;
|
|
13
|
+
}
|
|
14
|
+
declare const bodyControllerKind: import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/body-controller", string>>;
|
|
15
|
+
export interface BodyController<GenericName extends string = string, GenericParams extends BodyControllerParams = BodyControllerParams> extends Kind<typeof bodyControllerKind.definition, GenericName> {
|
|
16
|
+
readonly name: GenericName;
|
|
17
|
+
readonly params: GenericParams;
|
|
18
|
+
tryToCreateReader(readerImplementation: BodyReaderImplementation): E.Success<BodyReader<GenericName>> | E.Fail;
|
|
19
|
+
}
|
|
20
|
+
declare const bodyControllerHandlerKind: import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/body-controller-handler", unknown>>;
|
|
21
|
+
export interface BodyControllerHandler<GenericName extends string = string, GenericParams extends BodyControllerParams = BodyControllerParams> extends Kind<typeof bodyControllerHandlerKind.definition> {
|
|
22
|
+
readonly name: GenericName;
|
|
23
|
+
create(params: GenericParams): BodyController<GenericName, GenericParams>;
|
|
24
|
+
createReaderImplementation(read: BodyReaderImplementation<GenericName, GenericParams>["read"]): BodyReaderImplementation<GenericName, GenericParams>;
|
|
25
|
+
is(input: unknown): input is BodyController<GenericName, GenericParams>;
|
|
26
|
+
}
|
|
27
|
+
export declare function createBodyController<GenericName extends string, GenericParams extends BodyControllerParams>(name: GenericName): BodyControllerHandler<GenericName, GenericParams>;
|
|
28
|
+
export {};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { createCoreLibKind } from '../../kind.mjs';
|
|
2
|
+
import { E } from '@duplojs/utils';
|
|
3
|
+
|
|
4
|
+
const bodyReaderKind = createCoreLibKind("body-reader");
|
|
5
|
+
const bodyReaderImplementationKind = createCoreLibKind("body-reader-implementation");
|
|
6
|
+
const bodyControllerKind = createCoreLibKind("body-controller");
|
|
7
|
+
const bodyControllerHandlerKind = createCoreLibKind("body-controller-handler");
|
|
8
|
+
function createBodyController(name) {
|
|
9
|
+
return bodyControllerHandlerKind.setTo({
|
|
10
|
+
name,
|
|
11
|
+
create(params) {
|
|
12
|
+
return bodyControllerKind.setTo({
|
|
13
|
+
name,
|
|
14
|
+
params,
|
|
15
|
+
tryToCreateReader(readerImplementation) {
|
|
16
|
+
if (bodyReaderImplementationKind.getValue(readerImplementation) !== name) {
|
|
17
|
+
return E.fail();
|
|
18
|
+
}
|
|
19
|
+
return E.success(bodyReaderKind.setTo({
|
|
20
|
+
read: (request) => readerImplementation.read(request, params),
|
|
21
|
+
}, name));
|
|
22
|
+
},
|
|
23
|
+
}, name);
|
|
24
|
+
},
|
|
25
|
+
createReaderImplementation(read) {
|
|
26
|
+
return bodyReaderImplementationKind.setTo({ read }, name);
|
|
27
|
+
},
|
|
28
|
+
is(input) {
|
|
29
|
+
return bodyControllerKind.has(input) && bodyControllerKind.getValue(input) === name;
|
|
30
|
+
},
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export { createBodyController };
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var utils = require('@duplojs/utils');
|
|
4
|
+
var base = require('./base.cjs');
|
|
5
|
+
|
|
6
|
+
const FormDataBodyController = base.createBodyController("formData");
|
|
7
|
+
function controlBodyAsFormData(params) {
|
|
8
|
+
return FormDataBodyController.create({
|
|
9
|
+
maxFileQuantity: params.maxFileQuantity,
|
|
10
|
+
bodyMaxSize: params.bodyMaxSize && utils.stringToBytes(params.bodyMaxSize),
|
|
11
|
+
fileMaxSize: params.fileMaxSize && utils.stringToBytes(params.fileMaxSize),
|
|
12
|
+
mimeType: params.mimeType !== undefined
|
|
13
|
+
? utils.toRegExp(params.mimeType)
|
|
14
|
+
: undefined,
|
|
15
|
+
maxBufferSize: params.maxBufferSize !== undefined
|
|
16
|
+
? utils.stringToBytes(params.maxBufferSize)
|
|
17
|
+
: utils.stringToBytes("128kb"),
|
|
18
|
+
maxIndexArray: params.maxIndexArray !== undefined
|
|
19
|
+
? params.maxIndexArray
|
|
20
|
+
: 500,
|
|
21
|
+
maxKeyLength: params.maxKeyLength !== undefined
|
|
22
|
+
? params.maxKeyLength
|
|
23
|
+
: 500,
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
exports.FormDataBodyController = FormDataBodyController;
|
|
28
|
+
exports.controlBodyAsFormData = controlBodyAsFormData;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { type BytesInString } from "@duplojs/utils";
|
|
2
|
+
import { type BodyControllerParams } from "./base";
|
|
3
|
+
export interface FormDataBodyReaderParams extends BodyControllerParams {
|
|
4
|
+
maxFileQuantity: number;
|
|
5
|
+
mimeType?: RegExp;
|
|
6
|
+
fileMaxSize?: number;
|
|
7
|
+
maxBufferSize: number;
|
|
8
|
+
maxIndexArray: number;
|
|
9
|
+
maxKeyLength: number;
|
|
10
|
+
}
|
|
11
|
+
export declare const FormDataBodyController: import("./base").BodyControllerHandler<"formData", FormDataBodyReaderParams>;
|
|
12
|
+
export type FormDataBodyController = typeof FormDataBodyController;
|
|
13
|
+
export interface ControlBodyAsFormDataParams {
|
|
14
|
+
maxFileQuantity: number;
|
|
15
|
+
mimeType?: string | string[] | RegExp;
|
|
16
|
+
bodyMaxSize?: number | BytesInString;
|
|
17
|
+
fileMaxSize?: number | BytesInString;
|
|
18
|
+
maxBufferSize?: number | BytesInString;
|
|
19
|
+
maxIndexArray?: number;
|
|
20
|
+
maxKeyLength?: number;
|
|
21
|
+
}
|
|
22
|
+
export declare function controlBodyAsFormData(params: ControlBodyAsFormDataParams): import("./base").BodyController<"formData", FormDataBodyReaderParams>;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { stringToBytes, toRegExp } from '@duplojs/utils';
|
|
2
|
+
import { createBodyController } from './base.mjs';
|
|
3
|
+
|
|
4
|
+
const FormDataBodyController = createBodyController("formData");
|
|
5
|
+
function controlBodyAsFormData(params) {
|
|
6
|
+
return FormDataBodyController.create({
|
|
7
|
+
maxFileQuantity: params.maxFileQuantity,
|
|
8
|
+
bodyMaxSize: params.bodyMaxSize && stringToBytes(params.bodyMaxSize),
|
|
9
|
+
fileMaxSize: params.fileMaxSize && stringToBytes(params.fileMaxSize),
|
|
10
|
+
mimeType: params.mimeType !== undefined
|
|
11
|
+
? toRegExp(params.mimeType)
|
|
12
|
+
: undefined,
|
|
13
|
+
maxBufferSize: params.maxBufferSize !== undefined
|
|
14
|
+
? stringToBytes(params.maxBufferSize)
|
|
15
|
+
: stringToBytes("128kb"),
|
|
16
|
+
maxIndexArray: params.maxIndexArray !== undefined
|
|
17
|
+
? params.maxIndexArray
|
|
18
|
+
: 500,
|
|
19
|
+
maxKeyLength: params.maxKeyLength !== undefined
|
|
20
|
+
? params.maxKeyLength
|
|
21
|
+
: 500,
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export { FormDataBodyController, controlBodyAsFormData };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var base = require('./base.cjs');
|
|
4
|
+
var formData = require('./formData.cjs');
|
|
5
|
+
var text = require('./text.cjs');
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
exports.createBodyController = base.createBodyController;
|
|
10
|
+
exports.FormDataBodyController = formData.FormDataBodyController;
|
|
11
|
+
exports.controlBodyAsFormData = formData.controlBodyAsFormData;
|
|
12
|
+
exports.TextBodyController = text.TextBodyController;
|
|
13
|
+
exports.controlBodyAsText = text.controlBodyAsText;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var utils = require('@duplojs/utils');
|
|
4
|
+
var base = require('./base.cjs');
|
|
5
|
+
|
|
6
|
+
const TextBodyController = base.createBodyController("text");
|
|
7
|
+
function controlBodyAsText(params) {
|
|
8
|
+
return TextBodyController.create({
|
|
9
|
+
bodyMaxSize: params?.bodyMaxSize && utils.stringToBytes(params.bodyMaxSize),
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
exports.TextBodyController = TextBodyController;
|
|
14
|
+
exports.controlBodyAsText = controlBodyAsText;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type BytesInString } from "@duplojs/utils";
|
|
2
|
+
import { type BodyControllerParams } from "./base";
|
|
3
|
+
export interface TextBodyReaderParams extends BodyControllerParams {
|
|
4
|
+
}
|
|
5
|
+
export declare const TextBodyController: import("./base").BodyControllerHandler<"text", TextBodyReaderParams>;
|
|
6
|
+
export type TextBodyController = typeof TextBodyController;
|
|
7
|
+
export interface ControlBodyAsTextParams {
|
|
8
|
+
bodyMaxSize?: number | BytesInString;
|
|
9
|
+
}
|
|
10
|
+
export declare function controlBodyAsText(params?: ControlBodyAsTextParams): import("./base").BodyController<"text", TextBodyReaderParams>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { stringToBytes } from '@duplojs/utils';
|
|
2
|
+
import { createBodyController } from './base.mjs';
|
|
3
|
+
|
|
4
|
+
const TextBodyController = createBodyController("text");
|
|
5
|
+
function controlBodyAsText(params) {
|
|
6
|
+
return TextBodyController.create({
|
|
7
|
+
bodyMaxSize: params?.bodyMaxSize && stringToBytes(params.bodyMaxSize),
|
|
8
|
+
});
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export { TextBodyController, controlBodyAsText };
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var utils = require('@duplojs/utils');
|
|
4
|
-
var kind = require('
|
|
4
|
+
var kind = require('../kind.cjs');
|
|
5
|
+
require('./bodyController/index.cjs');
|
|
5
6
|
|
|
6
7
|
class Request extends utils.kindHeritage("request", kind.createCoreLibKind("request")) {
|
|
7
8
|
method;
|
|
@@ -13,8 +14,10 @@ class Request extends utils.kindHeritage("request", kind.createCoreLibKind("requ
|
|
|
13
14
|
params;
|
|
14
15
|
query;
|
|
15
16
|
matchedPath;
|
|
16
|
-
|
|
17
|
-
|
|
17
|
+
bodyReader;
|
|
18
|
+
bodyResult = undefined;
|
|
19
|
+
filesAttache = undefined;
|
|
20
|
+
constructor({ method, headers, url, host, origin, path, params, query, matchedPath, bodyReader, ...rest }) {
|
|
18
21
|
super();
|
|
19
22
|
this.method = method;
|
|
20
23
|
this.headers = headers;
|
|
@@ -25,10 +28,25 @@ class Request extends utils.kindHeritage("request", kind.createCoreLibKind("requ
|
|
|
25
28
|
this.params = params;
|
|
26
29
|
this.query = query;
|
|
27
30
|
this.matchedPath = matchedPath;
|
|
31
|
+
this.bodyReader = bodyReader;
|
|
28
32
|
for (const key in rest) {
|
|
29
33
|
this[key] = rest[key];
|
|
30
34
|
}
|
|
31
35
|
}
|
|
36
|
+
getBody() {
|
|
37
|
+
if (this.bodyResult !== undefined) {
|
|
38
|
+
return this.bodyResult;
|
|
39
|
+
}
|
|
40
|
+
const externalPromise = utils.createExternalPromise();
|
|
41
|
+
this.bodyResult = externalPromise.promise;
|
|
42
|
+
return this.bodyReader
|
|
43
|
+
.read(this)
|
|
44
|
+
.then((result) => {
|
|
45
|
+
externalPromise.resolve(result);
|
|
46
|
+
this.bodyResult = result;
|
|
47
|
+
return result;
|
|
48
|
+
});
|
|
49
|
+
}
|
|
32
50
|
}
|
|
33
51
|
|
|
34
52
|
exports.Request = Request;
|
|
@@ -1,8 +1,12 @@
|
|
|
1
|
+
import { type E, type MaybePromise } from "@duplojs/utils";
|
|
1
2
|
import { type GetPropsWithValue } from "@duplojs/utils/object";
|
|
3
|
+
import { type BodyReader } from "./bodyController";
|
|
4
|
+
export * from "./bodyController";
|
|
2
5
|
export interface RequestMethodsWrapper {
|
|
3
6
|
GET: true;
|
|
4
7
|
POST: true;
|
|
5
8
|
PUT: true;
|
|
9
|
+
PATCH: true;
|
|
6
10
|
DELETE: true;
|
|
7
11
|
HEAD: true;
|
|
8
12
|
OPTIONS: true;
|
|
@@ -20,6 +24,7 @@ export interface RequestInitializationData {
|
|
|
20
24
|
readonly path: string;
|
|
21
25
|
readonly query: Record<string, string | string[]>;
|
|
22
26
|
readonly url: string;
|
|
27
|
+
readonly bodyReader: BodyReader;
|
|
23
28
|
}
|
|
24
29
|
declare const Request_base: new (params?: {
|
|
25
30
|
"@DuplojsHttpCore/request"?: unknown;
|
|
@@ -34,7 +39,9 @@ export declare class Request extends Request_base implements RequestInitializati
|
|
|
34
39
|
params: Record<string, string>;
|
|
35
40
|
query: Record<string, string | string[]>;
|
|
36
41
|
matchedPath: string | null;
|
|
37
|
-
|
|
38
|
-
|
|
42
|
+
bodyReader: BodyReader;
|
|
43
|
+
private bodyResult?;
|
|
44
|
+
filesAttache: string[] | undefined;
|
|
45
|
+
constructor({ method, headers, url, host, origin, path, params, query, matchedPath, bodyReader, ...rest }: RequestInitializationData);
|
|
46
|
+
getBody(): MaybePromise<E.Success | E.Error>;
|
|
39
47
|
}
|
|
40
|
-
export {};
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { kindHeritage, createExternalPromise } from '@duplojs/utils';
|
|
2
|
+
import { createCoreLibKind } from '../kind.mjs';
|
|
3
|
+
import './bodyController/index.mjs';
|
|
4
|
+
|
|
5
|
+
class Request extends kindHeritage("request", createCoreLibKind("request")) {
|
|
6
|
+
method;
|
|
7
|
+
headers;
|
|
8
|
+
url;
|
|
9
|
+
host;
|
|
10
|
+
origin;
|
|
11
|
+
path;
|
|
12
|
+
params;
|
|
13
|
+
query;
|
|
14
|
+
matchedPath;
|
|
15
|
+
bodyReader;
|
|
16
|
+
bodyResult = undefined;
|
|
17
|
+
filesAttache = undefined;
|
|
18
|
+
constructor({ method, headers, url, host, origin, path, params, query, matchedPath, bodyReader, ...rest }) {
|
|
19
|
+
super();
|
|
20
|
+
this.method = method;
|
|
21
|
+
this.headers = headers;
|
|
22
|
+
this.url = url;
|
|
23
|
+
this.host = host;
|
|
24
|
+
this.origin = origin;
|
|
25
|
+
this.path = path;
|
|
26
|
+
this.params = params;
|
|
27
|
+
this.query = query;
|
|
28
|
+
this.matchedPath = matchedPath;
|
|
29
|
+
this.bodyReader = bodyReader;
|
|
30
|
+
for (const key in rest) {
|
|
31
|
+
this[key] = rest[key];
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
getBody() {
|
|
35
|
+
if (this.bodyResult !== undefined) {
|
|
36
|
+
return this.bodyResult;
|
|
37
|
+
}
|
|
38
|
+
const externalPromise = createExternalPromise();
|
|
39
|
+
this.bodyResult = externalPromise.promise;
|
|
40
|
+
return this.bodyReader
|
|
41
|
+
.read(this)
|
|
42
|
+
.then((result) => {
|
|
43
|
+
externalPromise.resolve(result);
|
|
44
|
+
this.bodyResult = result;
|
|
45
|
+
return result;
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
export { Request };
|
|
@@ -283,7 +283,7 @@ export declare namespace ResponseContract {
|
|
|
283
283
|
}>>(information: GenericInformation, schema?: (GenericSchema & ForbiddenBigintDataParser<GenericSchema>) | undefined) => NoInfer<Contract<"511", GenericInformation, NeverCoalescing<GenericSchema, DP.DataParserEmpty<DP.DataParserDefinitionEmpty>>>>;
|
|
284
284
|
const Error_base: new (params: {
|
|
285
285
|
"@DuplojsHttpCore/contract-error"?: unknown;
|
|
286
|
-
}, parentParams: readonly [message?: string | undefined, options?: ErrorOptions | undefined]) => Kind<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/contract-error", unknown>, unknown> & Kind<import("@duplojs/utils").KindDefinition<"contract-error", unknown>, unknown
|
|
286
|
+
}, parentParams: readonly [message?: string | undefined, options?: ErrorOptions | undefined]) => globalThis.Error & Kind<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/contract-error", unknown>, unknown> & Kind<import("@duplojs/utils").KindDefinition<"contract-error", unknown>, unknown>;
|
|
287
287
|
export class Error extends Error_base {
|
|
288
288
|
information: string;
|
|
289
289
|
dataParserError?: DP.DataParserError | undefined;
|
|
@@ -20,7 +20,6 @@ export interface RouteHookParams<GenericRequest extends Request = Request> {
|
|
|
20
20
|
response<GenericCode extends ResponseCode = ResponseCode, GenericInformation extends string = string, GenericBody extends unknown = unknown>(code: GenericCode, information: GenericInformation, body?: GenericBody): HookResponse<GenericCode, GenericInformation, GenericBody | undefined>;
|
|
21
21
|
}
|
|
22
22
|
export type HookBeforeRouteExecution<GenericRequest extends Request = Request> = (params: RouteHookParams<GenericRequest>) => MaybePromise<HookResponse | RouteHookExit | RouteHookNext>;
|
|
23
|
-
export type HookParseBody<GenericRequest extends Request = Request> = (params: RouteHookParams<GenericRequest>) => MaybePromise<HookResponse | RouteHookExit | RouteHookNext>;
|
|
24
23
|
export interface RouteHookErrorParams<GenericRequest extends Request = Request> {
|
|
25
24
|
readonly request: GenericRequest;
|
|
26
25
|
readonly error: unknown;
|
|
@@ -41,7 +40,6 @@ export type HookAfterSendResponse<GenericRequest extends Request = Request> = (p
|
|
|
41
40
|
export interface HookRouteLifeCycle<GenericRequest extends Request = Request> {
|
|
42
41
|
onConstructRequest?: HookOnConstructRequest<GenericRequest>;
|
|
43
42
|
beforeRouteExecution?: HookBeforeRouteExecution<GenericRequest>;
|
|
44
|
-
parseBody?: HookParseBody<GenericRequest>;
|
|
45
43
|
error?: HookError;
|
|
46
44
|
beforeSendResponse?: HookBeforeSendResponse<GenericRequest>;
|
|
47
45
|
sendResponse?: HookSendResponse<GenericRequest>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type O, type Kind } from "@duplojs/utils";
|
|
2
|
-
import { type RequestMethods } from "../request";
|
|
2
|
+
import { type BodyController, type RequestMethods } from "../request";
|
|
3
3
|
import { type ExtractStep, type CheckerStep, type CutStep, type HandlerStep, type ProcessStep, type stepKind, type PresetCheckerStep } from "../steps";
|
|
4
4
|
import { type HookRouteLifeCycle } from "./hooks";
|
|
5
5
|
import { type Metadata } from "../metadata";
|
|
@@ -19,6 +19,7 @@ export interface RouteDefinition {
|
|
|
19
19
|
readonly steps: readonly RouteSteps[];
|
|
20
20
|
readonly hooks: readonly HookRouteLifeCycle[];
|
|
21
21
|
readonly metadata: readonly Metadata[];
|
|
22
|
+
readonly bodyController: BodyController | null;
|
|
22
23
|
}
|
|
23
24
|
export declare const routeKind: import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/route", unknown>>;
|
|
24
25
|
export interface Route<GenericDefinition extends RouteDefinition = RouteDefinition> extends Kind<typeof routeKind.definition> {
|