@duplojs/http 0.2.0 → 0.5.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 +22 -0
- package/dist/client/getBody.d.ts +1 -0
- package/dist/client/getBody.mjs +20 -0
- package/dist/client/hooks.cjs +79 -0
- package/dist/client/hooks.d.ts +33 -0
- package/dist/client/hooks.mjs +70 -0
- package/dist/client/httpClient.cjs +153 -0
- package/dist/client/httpClient.d.ts +60 -0
- package/dist/client/httpClient.mjs +130 -0
- package/dist/client/index.cjs +33 -0
- package/dist/client/index.d.ts +9 -0
- package/dist/client/index.mjs +9 -0
- package/dist/client/insertParamsInPath.cjs +12 -0
- package/dist/client/insertParamsInPath.d.ts +2 -0
- package/dist/client/insertParamsInPath.mjs +10 -0
- package/dist/client/kind.cjs +9 -0
- package/dist/client/kind.d.ts +6 -0
- package/dist/client/kind.mjs +7 -0
- package/dist/client/promiseRequest.cjs +355 -0
- package/dist/client/promiseRequest.d.ts +98 -0
- package/dist/client/promiseRequest.mjs +332 -0
- package/dist/client/queryToString.cjs +25 -0
- package/dist/client/queryToString.d.ts +2 -0
- package/dist/client/queryToString.mjs +23 -0
- package/dist/client/types/ObjectCanBeEmpty.cjs +2 -0
- package/dist/client/types/ObjectCanBeEmpty.d.ts +4 -0
- package/dist/client/types/ObjectCanBeEmpty.mjs +1 -0
- package/dist/client/types/clientRequestParams.cjs +2 -0
- package/dist/client/types/clientRequestParams.d.ts +51 -0
- package/dist/client/types/clientRequestParams.mjs +1 -0
- package/dist/client/types/clientResponse.cjs +2 -0
- package/dist/client/types/clientResponse.d.ts +34 -0
- package/dist/client/types/clientResponse.mjs +1 -0
- package/dist/client/types/index.cjs +7 -0
- package/dist/client/types/index.d.ts +4 -0
- package/dist/client/types/index.mjs +4 -0
- package/dist/client/types/serverRoute.cjs +2 -0
- package/dist/client/types/serverRoute.d.ts +22 -0
- package/dist/client/types/serverRoute.mjs +1 -0
- package/dist/client/unexpectedResponseError.cjs +44 -0
- package/dist/client/unexpectedResponseError.d.ts +38 -0
- package/dist/client/unexpectedResponseError.mjs +39 -0
- package/dist/core/builders/preflight/builder.cjs +1 -0
- package/dist/core/builders/preflight/builder.d.ts +5 -1
- package/dist/core/builders/preflight/builder.mjs +1 -0
- package/dist/core/builders/preflight/process.cjs +2 -1
- package/dist/core/builders/preflight/process.d.ts +4 -2
- package/dist/core/builders/preflight/process.mjs +2 -1
- package/dist/core/builders/preflight/route.cjs +4 -0
- package/dist/core/builders/preflight/route.d.ts +9 -3
- package/dist/core/builders/preflight/route.mjs +4 -0
- package/dist/core/builders/process/builder.cjs +1 -0
- package/dist/core/builders/process/builder.d.ts +4 -1
- package/dist/core/builders/process/builder.mjs +1 -0
- package/dist/core/builders/process/checker.cjs +2 -1
- package/dist/core/builders/process/checker.d.ts +4 -2
- package/dist/core/builders/process/checker.mjs +2 -1
- package/dist/core/builders/process/cut.cjs +2 -1
- package/dist/core/builders/process/cut.d.ts +3 -1
- package/dist/core/builders/process/cut.mjs +2 -1
- package/dist/core/builders/process/extract.cjs +2 -1
- package/dist/core/builders/process/extract.d.ts +3 -1
- package/dist/core/builders/process/extract.mjs +2 -1
- package/dist/core/builders/process/index.cjs +1 -1
- package/dist/core/builders/process/index.d.ts +1 -1
- package/dist/core/builders/process/index.mjs +1 -1
- package/dist/core/builders/process/presetChecker.cjs +2 -1
- package/dist/core/builders/process/presetChecker.d.ts +3 -1
- package/dist/core/builders/process/presetChecker.mjs +2 -1
- package/dist/core/builders/process/process.cjs +2 -1
- package/dist/core/builders/process/process.d.ts +4 -2
- package/dist/core/builders/process/process.mjs +2 -1
- package/dist/core/builders/route/builder.cjs +1 -0
- package/dist/core/builders/route/builder.d.ts +4 -1
- package/dist/core/builders/route/builder.mjs +1 -0
- package/dist/core/builders/route/checker.cjs +2 -1
- package/dist/core/builders/route/checker.d.ts +4 -2
- package/dist/core/builders/route/checker.mjs +2 -1
- package/dist/core/builders/route/cut.cjs +2 -1
- package/dist/core/builders/route/cut.d.ts +3 -1
- package/dist/core/builders/route/cut.mjs +2 -1
- package/dist/core/builders/route/extract.cjs +2 -1
- package/dist/core/builders/route/extract.d.ts +3 -1
- package/dist/core/builders/route/extract.mjs +2 -1
- package/dist/core/builders/route/handler.cjs +9 -2
- package/dist/core/builders/route/handler.d.ts +3 -1
- package/dist/core/builders/route/handler.mjs +9 -2
- package/dist/core/builders/route/presetChecker.cjs +2 -1
- package/dist/core/builders/route/presetChecker.d.ts +3 -1
- package/dist/core/builders/route/presetChecker.mjs +2 -1
- package/dist/core/builders/route/process.cjs +2 -1
- package/dist/core/builders/route/process.d.ts +4 -2
- package/dist/core/builders/route/process.mjs +2 -1
- package/dist/core/functionsBuilders/route/default.cjs +10 -9
- package/dist/core/functionsBuilders/route/default.mjs +3 -2
- package/dist/core/functionsBuilders/route/hook.cjs +22 -22
- package/dist/core/functionsBuilders/route/hook.d.ts +2 -2
- package/dist/core/functionsBuilders/route/hook.mjs +2 -2
- package/dist/core/functionsBuilders/steps/create.d.ts +2 -2
- package/dist/core/functionsBuilders/steps/defaults/checkerStep.cjs +3 -2
- package/dist/core/functionsBuilders/steps/defaults/checkerStep.mjs +3 -2
- package/dist/core/functionsBuilders/steps/defaults/cutStep.cjs +3 -2
- package/dist/core/functionsBuilders/steps/defaults/cutStep.mjs +3 -2
- package/dist/core/functionsBuilders/steps/defaults/extractStep.cjs +6 -5
- package/dist/core/functionsBuilders/steps/defaults/extractStep.mjs +4 -3
- package/dist/core/functionsBuilders/steps/defaults/handlerStep.cjs +3 -2
- package/dist/core/functionsBuilders/steps/defaults/handlerStep.mjs +3 -2
- package/dist/core/functionsBuilders/steps/defaults/processStep.cjs +5 -4
- package/dist/core/functionsBuilders/steps/defaults/processStep.mjs +3 -2
- package/dist/core/hub/defaultNotfoundHandler.cjs +1 -0
- package/dist/core/hub/defaultNotfoundHandler.d.ts +2 -1
- package/dist/core/hub/defaultNotfoundHandler.mjs +1 -0
- package/dist/core/hub/index.cjs +2 -1
- package/dist/core/hub/index.mjs +2 -1
- package/dist/core/index.cjs +43 -34
- package/dist/core/index.d.ts +1 -0
- package/dist/core/index.mjs +8 -3
- package/dist/core/metadata/base.cjs +20 -0
- package/dist/core/metadata/base.d.ts +14 -0
- package/dist/core/metadata/base.mjs +17 -0
- package/dist/core/metadata/ignoreByRouteStore.cjs +7 -0
- package/dist/core/metadata/ignoreByRouteStore.d.ts +1 -0
- package/dist/core/metadata/ignoreByRouteStore.mjs +5 -0
- package/dist/core/metadata/index.cjs +10 -0
- package/dist/core/metadata/index.d.ts +2 -0
- package/dist/core/metadata/index.mjs +2 -0
- package/dist/core/process/index.d.ts +3 -1
- package/dist/core/response/base.cjs +40 -0
- package/dist/core/response/base.d.ts +21 -0
- package/dist/core/response/base.mjs +38 -0
- package/dist/core/response/contract.cjs +2 -2
- package/dist/core/response/contract.d.ts +120 -118
- package/dist/core/response/contract.mjs +2 -2
- package/dist/core/{route/hooks/response.cjs → response/hook.cjs} +4 -3
- package/dist/core/{route/hooks/response.d.ts → response/hook.d.ts} +2 -2
- package/dist/core/{route/hooks/response.mjs → response/hook.mjs} +3 -2
- package/dist/core/response/index.cjs +9 -38
- package/dist/core/response/index.d.ts +3 -20
- package/dist/core/response/index.mjs +3 -38
- package/dist/core/response/predicted.cjs +22 -0
- package/dist/core/response/predicted.d.ts +11 -0
- package/dist/core/response/predicted.mjs +20 -0
- package/dist/core/route/{hooks/index.cjs → hooks.cjs} +2 -3
- package/dist/core/route/{hooks/index.d.ts → hooks.d.ts} +4 -4
- package/dist/core/route/{hooks/index.mjs → hooks.mjs} +2 -2
- package/dist/core/route/index.cjs +4 -4
- package/dist/core/route/index.d.ts +2 -0
- package/dist/core/route/index.mjs +1 -1
- package/dist/core/router/index.cjs +1 -0
- package/dist/core/router/index.mjs +1 -0
- package/dist/core/steps/checker.d.ts +2 -0
- package/dist/core/steps/cut.d.ts +5 -3
- package/dist/core/steps/extract.d.ts +2 -0
- package/dist/core/steps/handler.d.ts +5 -3
- package/dist/core/steps/identifier.d.ts +2 -2
- package/dist/core/steps/presetChecker.d.ts +2 -0
- package/dist/core/steps/process.d.ts +2 -0
- package/dist/core/steps/types/stepFunctionParams.d.ts +2 -2
- package/dist/core/types/forbiddenBigintDataParser.cjs +2 -0
- package/dist/core/types/forbiddenBigintDataParser.d.ts +6 -0
- package/dist/core/types/forbiddenBigintDataParser.mjs +1 -0
- package/dist/core/types/index.cjs +1 -0
- package/dist/core/types/index.d.ts +1 -0
- package/dist/core/types/index.mjs +1 -0
- package/dist/interfaces/node/createHttpServer.cjs +1 -0
- package/dist/interfaces/node/createHttpServer.d.ts +2 -1
- package/dist/interfaces/node/createHttpServer.mjs +1 -0
- package/dist/interfaces/node/hooks.cjs +16 -13
- package/dist/interfaces/node/hooks.mjs +15 -12
- package/dist/plugins/codeGenerator/{stepsToDataParser.cjs → aggregateStepContract.cjs} +8 -5
- package/dist/plugins/codeGenerator/{stepsToDataParser.d.ts → aggregateStepContract.d.ts} +1 -1
- package/dist/plugins/codeGenerator/{stepsToDataParser.mjs → aggregateStepContract.mjs} +9 -6
- package/dist/plugins/codeGenerator/index.cjs +4 -5
- package/dist/plugins/codeGenerator/index.d.ts +2 -1
- package/dist/plugins/codeGenerator/index.mjs +3 -2
- package/dist/plugins/codeGenerator/metadata.cjs +8 -0
- package/dist/plugins/codeGenerator/metadata.d.ts +1 -0
- package/dist/plugins/codeGenerator/metadata.mjs +6 -0
- package/dist/plugins/codeGenerator/plugin.cjs +1 -1
- package/dist/plugins/codeGenerator/plugin.mjs +1 -1
- package/dist/plugins/codeGenerator/routeToDataParser.cjs +11 -57
- package/dist/plugins/codeGenerator/routeToDataParser.d.ts +2 -181
- package/dist/plugins/codeGenerator/routeToDataParser.mjs +13 -56
- package/dist/plugins/openApiGenerator/aggregateStepContract.cjs +65 -0
- package/dist/plugins/openApiGenerator/aggregateStepContract.d.ts +18 -0
- package/dist/plugins/openApiGenerator/aggregateStepContract.mjs +63 -0
- package/dist/plugins/openApiGenerator/index.cjs +19 -0
- package/dist/plugins/openApiGenerator/index.d.ts +8 -0
- package/dist/plugins/openApiGenerator/index.mjs +8 -0
- package/dist/plugins/openApiGenerator/makeOpenApiPage.cjs +30 -0
- package/dist/plugins/openApiGenerator/makeOpenApiPage.d.ts +7 -0
- package/dist/plugins/openApiGenerator/makeOpenApiPage.mjs +28 -0
- package/dist/plugins/openApiGenerator/makeOpenApiRoute.cjs +15 -0
- package/dist/plugins/openApiGenerator/makeOpenApiRoute.d.ts +20 -0
- package/dist/plugins/openApiGenerator/makeOpenApiRoute.mjs +13 -0
- package/dist/plugins/openApiGenerator/metadata.cjs +8 -0
- package/dist/plugins/openApiGenerator/metadata.d.ts +1 -0
- package/dist/plugins/openApiGenerator/metadata.mjs +6 -0
- package/dist/plugins/openApiGenerator/plugin.cjs +90 -0
- package/dist/plugins/openApiGenerator/plugin.d.ts +49 -0
- package/dist/plugins/openApiGenerator/plugin.mjs +88 -0
- package/dist/plugins/openApiGenerator/routeToOpenApi.cjs +168 -0
- package/dist/plugins/openApiGenerator/routeToOpenApi.d.ts +35 -0
- package/dist/plugins/openApiGenerator/routeToOpenApi.mjs +166 -0
- package/dist/plugins/openApiGenerator/types/endpointResponse.cjs +2 -0
- package/dist/plugins/openApiGenerator/types/endpointResponse.d.ts +19 -0
- package/dist/plugins/openApiGenerator/types/endpointResponse.mjs +1 -0
- package/dist/plugins/openApiGenerator/types/entrypoint.cjs +2 -0
- package/dist/plugins/openApiGenerator/types/entrypoint.d.ts +22 -0
- package/dist/plugins/openApiGenerator/types/entrypoint.mjs +1 -0
- package/dist/plugins/openApiGenerator/types/entrypointKey.cjs +2 -0
- package/dist/plugins/openApiGenerator/types/entrypointKey.d.ts +1 -0
- package/dist/plugins/openApiGenerator/types/entrypointKey.mjs +1 -0
- package/dist/plugins/openApiGenerator/types/index.cjs +11 -0
- package/dist/plugins/openApiGenerator/types/index.d.ts +8 -0
- package/dist/plugins/openApiGenerator/types/index.mjs +8 -0
- package/dist/plugins/openApiGenerator/types/openApiDocument.cjs +2 -0
- package/dist/plugins/openApiGenerator/types/openApiDocument.d.ts +31 -0
- package/dist/plugins/openApiGenerator/types/openApiDocument.mjs +1 -0
- package/dist/plugins/openApiGenerator/types/openApiMethod.cjs +2 -0
- package/dist/plugins/openApiGenerator/types/openApiMethod.d.ts +1 -0
- package/dist/plugins/openApiGenerator/types/openApiMethod.mjs +1 -0
- package/dist/plugins/openApiGenerator/types/openApiOperation.cjs +2 -0
- package/dist/plugins/openApiGenerator/types/openApiOperation.d.ts +8 -0
- package/dist/plugins/openApiGenerator/types/openApiOperation.mjs +1 -0
- package/dist/plugins/openApiGenerator/types/openApiPath.cjs +2 -0
- package/dist/plugins/openApiGenerator/types/openApiPath.d.ts +4 -0
- package/dist/plugins/openApiGenerator/types/openApiPath.mjs +1 -0
- package/dist/plugins/openApiGenerator/types/openApiSecuritySchema.cjs +2 -0
- package/dist/plugins/openApiGenerator/types/openApiSecuritySchema.d.ts +8 -0
- package/dist/plugins/openApiGenerator/types/openApiSecuritySchema.mjs +1 -0
- package/package.json +17 -4
- /package/dist/core/builders/process/{export.cjs → exports.cjs} +0 -0
- /package/dist/core/builders/process/{export.d.ts → exports.d.ts} +0 -0
- /package/dist/core/builders/process/{export.mjs → exports.mjs} +0 -0
|
@@ -1,45 +1,16 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var kind = require('../kind.cjs');
|
|
3
|
+
var base = require('./base.cjs');
|
|
5
4
|
var contract = require('./contract.cjs');
|
|
5
|
+
var hook = require('./hook.cjs');
|
|
6
|
+
var predicted = require('./predicted.cjs');
|
|
6
7
|
|
|
7
|
-
class Response extends utils.kindHeritage("response", kind.createCoreLibKind("response")) {
|
|
8
|
-
code;
|
|
9
|
-
information;
|
|
10
|
-
body;
|
|
11
|
-
headers = undefined;
|
|
12
|
-
constructor(code, information, body) {
|
|
13
|
-
super();
|
|
14
|
-
this.code = code;
|
|
15
|
-
this.information = information;
|
|
16
|
-
this.body = body;
|
|
17
|
-
}
|
|
18
|
-
setHeaders(headers) {
|
|
19
|
-
this.headers = utils.O.override(this.headers ?? {}, headers);
|
|
20
|
-
return this;
|
|
21
|
-
}
|
|
22
|
-
setHeader(key, header) {
|
|
23
|
-
if (!this.headers) {
|
|
24
|
-
this.headers = {};
|
|
25
|
-
}
|
|
26
|
-
if (typeof header !== "undefined") {
|
|
27
|
-
this.headers[key] = header;
|
|
28
|
-
}
|
|
29
|
-
return this;
|
|
30
|
-
}
|
|
31
|
-
deleteHeader(key) {
|
|
32
|
-
if (!this.headers) {
|
|
33
|
-
return this;
|
|
34
|
-
}
|
|
35
|
-
const { [key]: deleteHeader, ...rest } = this.headers;
|
|
36
|
-
this.headers = rest;
|
|
37
|
-
return this;
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
8
|
|
|
9
|
+
|
|
10
|
+
exports.Response = base.Response;
|
|
41
11
|
Object.defineProperty(exports, "ResponseContract", {
|
|
42
|
-
|
|
43
|
-
|
|
12
|
+
enumerable: true,
|
|
13
|
+
get: function () { return contract.ResponseContract; }
|
|
44
14
|
});
|
|
45
|
-
exports.
|
|
15
|
+
exports.HookResponse = hook.HookResponse;
|
|
16
|
+
exports.PredictedResponse = predicted.PredictedResponse;
|
|
@@ -1,21 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
export * from "./base";
|
|
2
2
|
export * from "./contract";
|
|
3
|
-
export
|
|
4
|
-
export
|
|
5
|
-
export type RedirectionResponseCode = `3${S.Digit}${S.Digit}`;
|
|
6
|
-
export type ClientErrorResponseCode = `4${S.Digit}${S.Digit}`;
|
|
7
|
-
export type ServerErrorResponseCode = `5${S.Digit}${S.Digit}`;
|
|
8
|
-
export type ResponseCode = (InformationResponseCode | SuccessResponseCode | RedirectionResponseCode | ClientErrorResponseCode | ServerErrorResponseCode);
|
|
9
|
-
declare const Response_base: new (params?: {
|
|
10
|
-
"@DuplojsHttpCore/response"?: unknown;
|
|
11
|
-
} | undefined) => import("@duplojs/utils").Kind<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/response", unknown>, unknown> & import("@duplojs/utils").Kind<import("@duplojs/utils").KindDefinition<"response", unknown>, unknown>;
|
|
12
|
-
export declare class Response<GenericCode extends ResponseCode = ResponseCode, GenericInformation extends string = string, GenericBody extends unknown = unknown> extends Response_base {
|
|
13
|
-
code: GenericCode;
|
|
14
|
-
information: GenericInformation;
|
|
15
|
-
body: GenericBody;
|
|
16
|
-
headers: Record<string, string | string[]> | undefined;
|
|
17
|
-
constructor(code: GenericCode, information: GenericInformation, body: GenericBody);
|
|
18
|
-
setHeaders(headers: Partial<Record<string, string | string[]>>): this;
|
|
19
|
-
setHeader(key: string, header?: string | string[]): this;
|
|
20
|
-
deleteHeader(key: string): this;
|
|
21
|
-
}
|
|
3
|
+
export * from "./hook";
|
|
4
|
+
export * from "./predicted";
|
|
@@ -1,39 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
import { createCoreLibKind } from '../kind.mjs';
|
|
1
|
+
export { Response } from './base.mjs';
|
|
3
2
|
export { ResponseContract } from './contract.mjs';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
code;
|
|
7
|
-
information;
|
|
8
|
-
body;
|
|
9
|
-
headers = undefined;
|
|
10
|
-
constructor(code, information, body) {
|
|
11
|
-
super();
|
|
12
|
-
this.code = code;
|
|
13
|
-
this.information = information;
|
|
14
|
-
this.body = body;
|
|
15
|
-
}
|
|
16
|
-
setHeaders(headers) {
|
|
17
|
-
this.headers = O.override(this.headers ?? {}, headers);
|
|
18
|
-
return this;
|
|
19
|
-
}
|
|
20
|
-
setHeader(key, header) {
|
|
21
|
-
if (!this.headers) {
|
|
22
|
-
this.headers = {};
|
|
23
|
-
}
|
|
24
|
-
if (typeof header !== "undefined") {
|
|
25
|
-
this.headers[key] = header;
|
|
26
|
-
}
|
|
27
|
-
return this;
|
|
28
|
-
}
|
|
29
|
-
deleteHeader(key) {
|
|
30
|
-
if (!this.headers) {
|
|
31
|
-
return this;
|
|
32
|
-
}
|
|
33
|
-
const { [key]: deleteHeader, ...rest } = this.headers;
|
|
34
|
-
this.headers = rest;
|
|
35
|
-
return this;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
export { Response };
|
|
3
|
+
export { HookResponse } from './hook.mjs';
|
|
4
|
+
export { PredictedResponse } from './predicted.mjs';
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var kind = require('../kind.cjs');
|
|
4
|
+
require('./index.cjs');
|
|
5
|
+
var utils = require('@duplojs/utils');
|
|
6
|
+
var base = require('./base.cjs');
|
|
7
|
+
|
|
8
|
+
const defaultParamsParent = [undefined, undefined, undefined];
|
|
9
|
+
const defaultParams = {};
|
|
10
|
+
class PredictedResponse extends utils.kindHeritage("predicted-response", kind.createCoreLibKind("predicted-response"), base.Response) {
|
|
11
|
+
code;
|
|
12
|
+
information;
|
|
13
|
+
body;
|
|
14
|
+
constructor(code, information, body) {
|
|
15
|
+
super(defaultParams, defaultParamsParent);
|
|
16
|
+
this.code = code;
|
|
17
|
+
this.information = information;
|
|
18
|
+
this.body = body;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
exports.PredictedResponse = PredictedResponse;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type ResponseCode, Response } from "../response";
|
|
2
|
+
declare const PredictedResponse_base: new (params: {
|
|
3
|
+
"@DuplojsHttpCore/predicted-response"?: unknown;
|
|
4
|
+
}, parentParams: [code: any, information: any, body: any]) => Response<any, any, any> & import("@duplojs/utils").Kind<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/predicted-response", unknown>, unknown> & import("@duplojs/utils").Kind<import("@duplojs/utils").KindDefinition<"predicted-response", unknown>, unknown>;
|
|
5
|
+
export declare class PredictedResponse<GenericCode extends ResponseCode = ResponseCode, GenericInformation extends string = string, GenericBody extends unknown = unknown> extends PredictedResponse_base {
|
|
6
|
+
code: GenericCode;
|
|
7
|
+
information: GenericInformation;
|
|
8
|
+
body: GenericBody;
|
|
9
|
+
constructor(code: GenericCode, information: GenericInformation, body: GenericBody);
|
|
10
|
+
}
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { createCoreLibKind } from '../kind.mjs';
|
|
2
|
+
import './index.mjs';
|
|
3
|
+
import { kindHeritage } from '@duplojs/utils';
|
|
4
|
+
import { Response } from './base.mjs';
|
|
5
|
+
|
|
6
|
+
const defaultParamsParent = [undefined, undefined, undefined];
|
|
7
|
+
const defaultParams = {};
|
|
8
|
+
class PredictedResponse extends kindHeritage("predicted-response", createCoreLibKind("predicted-response"), Response) {
|
|
9
|
+
code;
|
|
10
|
+
information;
|
|
11
|
+
body;
|
|
12
|
+
constructor(code, information, body) {
|
|
13
|
+
super(defaultParams, defaultParamsParent);
|
|
14
|
+
this.code = code;
|
|
15
|
+
this.information = information;
|
|
16
|
+
this.body = body;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export { PredictedResponse };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var kind = require('
|
|
4
|
-
|
|
3
|
+
var kind = require('../kind.cjs');
|
|
4
|
+
require('../response/index.cjs');
|
|
5
5
|
|
|
6
6
|
const hookRouteExitKind = kind.createCoreLibKind("route-hook-exit");
|
|
7
7
|
const hookRouteNextKind = kind.createCoreLibKind("route-hook-next");
|
|
@@ -15,7 +15,6 @@ function createHookRouteLifeCycle(...args) {
|
|
|
15
15
|
};
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
-
exports.HookResponse = response.HookResponse;
|
|
19
18
|
exports.createHookRouteLifeCycle = createHookRouteLifeCycle;
|
|
20
19
|
exports.hookRouteExitKind = hookRouteExitKind;
|
|
21
20
|
exports.hookRouteNextKind = hookRouteNextKind;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { type Request } from "
|
|
1
|
+
import { type Request } from "../request";
|
|
2
2
|
import { type UnionToIntersection, type AnyFunction, type Kind, type MaybePromise, type SimplifyTopLevel, type IsEqual } from "@duplojs/utils";
|
|
3
|
-
import { type HookResponse } from "
|
|
4
|
-
import { type ResponseCode, type Response } from "
|
|
5
|
-
export * from "
|
|
3
|
+
import { type HookResponse } from "../response";
|
|
4
|
+
import { type ResponseCode, type Response } from "../response";
|
|
5
|
+
export * from "../response";
|
|
6
6
|
export interface HookParamsOnConstructRequest {
|
|
7
7
|
request: Request;
|
|
8
8
|
addRequestProperties<GenericNewProperties extends Record<string, unknown>>(newProperties: GenericNewProperties): Request & GenericNewProperties;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { createCoreLibKind } from '
|
|
2
|
-
|
|
1
|
+
import { createCoreLibKind } from '../kind.mjs';
|
|
2
|
+
import '../response/index.mjs';
|
|
3
3
|
|
|
4
4
|
const hookRouteExitKind = createCoreLibKind("route-hook-exit");
|
|
5
5
|
const hookRouteNextKind = createCoreLibKind("route-hook-next");
|
|
@@ -3,15 +3,15 @@
|
|
|
3
3
|
var utils = require('@duplojs/utils');
|
|
4
4
|
var kind = require('../kind.cjs');
|
|
5
5
|
require('./types/index.cjs');
|
|
6
|
-
var
|
|
6
|
+
var hooks = require('./hooks.cjs');
|
|
7
7
|
|
|
8
8
|
const routeKind = kind.createCoreLibKind("route");
|
|
9
9
|
function createRoute(definition) {
|
|
10
10
|
return utils.pipe({ definition }, routeKind.setTo);
|
|
11
11
|
}
|
|
12
12
|
|
|
13
|
-
exports.createHookRouteLifeCycle =
|
|
14
|
-
exports.hookRouteExitKind =
|
|
15
|
-
exports.hookRouteNextKind =
|
|
13
|
+
exports.createHookRouteLifeCycle = hooks.createHookRouteLifeCycle;
|
|
14
|
+
exports.hookRouteExitKind = hooks.hookRouteExitKind;
|
|
15
|
+
exports.hookRouteNextKind = hooks.hookRouteNextKind;
|
|
16
16
|
exports.createRoute = createRoute;
|
|
17
17
|
exports.routeKind = routeKind;
|
|
@@ -2,6 +2,7 @@ import { type O, type Kind } from "@duplojs/utils";
|
|
|
2
2
|
import { 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
|
+
import { type Metadata } from "../metadata";
|
|
5
6
|
export * from "./types";
|
|
6
7
|
export * from "./hooks";
|
|
7
8
|
export interface RouteStepsCustom {
|
|
@@ -17,6 +18,7 @@ export interface RouteDefinition {
|
|
|
17
18
|
readonly preflightSteps: readonly RoutePreFlightSteps[];
|
|
18
19
|
readonly steps: readonly RouteSteps[];
|
|
19
20
|
readonly hooks: readonly HookRouteLifeCycle[];
|
|
21
|
+
readonly metadata: readonly Metadata[];
|
|
20
22
|
}
|
|
21
23
|
export declare const routeKind: import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/route", unknown>>;
|
|
22
24
|
export interface Route<GenericDefinition extends RouteDefinition = RouteDefinition> extends Kind<typeof routeKind.definition> {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { pipe } from '@duplojs/utils';
|
|
2
2
|
import { createCoreLibKind } from '../kind.mjs';
|
|
3
3
|
import './types/index.mjs';
|
|
4
|
-
export { createHookRouteLifeCycle, hookRouteExitKind, hookRouteNextKind } from './hooks
|
|
4
|
+
export { createHookRouteLifeCycle, hookRouteExitKind, hookRouteNextKind } from './hooks.mjs';
|
|
5
5
|
|
|
6
6
|
const routeKind = createCoreLibKind("route");
|
|
7
7
|
function createRoute(definition) {
|
|
@@ -58,6 +58,7 @@ async function buildRouter(inputHub) {
|
|
|
58
58
|
hooks: [],
|
|
59
59
|
preflightSteps: [],
|
|
60
60
|
steps: [hub.notfoundHandler],
|
|
61
|
+
metadata: [],
|
|
61
62
|
}), async (route) => {
|
|
62
63
|
const result = await build.buildRouteFunction(route, buildParams);
|
|
63
64
|
return utils.E.whenIsLeft(result, (element) => {
|
|
@@ -3,6 +3,7 @@ import { type StepKind } from "./kind";
|
|
|
3
3
|
import { type Checker } from "../checker";
|
|
4
4
|
import { type Floor } from "../floor";
|
|
5
5
|
import { type ClientErrorResponseCode, type ResponseContract } from "../response";
|
|
6
|
+
import { type Metadata } from "../metadata";
|
|
6
7
|
export interface CheckerStepDefinition {
|
|
7
8
|
readonly checker: Checker;
|
|
8
9
|
readonly result: string | readonly string[];
|
|
@@ -10,6 +11,7 @@ export interface CheckerStepDefinition {
|
|
|
10
11
|
input(input: Floor): unknown;
|
|
11
12
|
readonly options?: Record<string, unknown> | ((input: any) => Record<string, unknown>);
|
|
12
13
|
readonly responseContract: ResponseContract.Contract<ClientErrorResponseCode>;
|
|
14
|
+
readonly metadata: readonly Metadata[];
|
|
13
15
|
}
|
|
14
16
|
export declare const checkerStepKind: import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/checker-step", unknown>>;
|
|
15
17
|
export type _CheckerStep = (Kind<typeof checkerStepKind.definition> & StepKind);
|
package/dist/core/steps/cut.d.ts
CHANGED
|
@@ -2,17 +2,19 @@ import { type WrappedValue, type Kind, type MaybePromise, type NeverCoalescing }
|
|
|
2
2
|
import { type StepKind } from "./kind";
|
|
3
3
|
import { type Floor } from "../floor";
|
|
4
4
|
import { type StepFunctionParams } from "./types";
|
|
5
|
-
import { type
|
|
5
|
+
import { type PredictedResponse, type ResponseContract } from "../response";
|
|
6
6
|
import { type Request } from "../request";
|
|
7
|
+
import { type Metadata } from "../metadata";
|
|
7
8
|
export declare const cutStepOutputKind: import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/cut-output", unknown>>;
|
|
8
9
|
export interface CutStepFunctionOutput<GenericData extends Record<string, unknown> = Record<string, unknown>> extends Kind<typeof cutStepOutputKind.definition>, WrappedValue<GenericData> {
|
|
9
10
|
}
|
|
10
|
-
export interface CutStepFunctionParams<GenericRequest extends Request = Request, GenericResponse extends
|
|
11
|
+
export interface CutStepFunctionParams<GenericRequest extends Request = Request, GenericResponse extends PredictedResponse = PredictedResponse> extends StepFunctionParams<GenericRequest, GenericResponse> {
|
|
11
12
|
output<GenericData extends Record<string, unknown> = never>(data?: GenericData): CutStepFunctionOutput<NeverCoalescing<GenericData, {}>>;
|
|
12
13
|
}
|
|
13
14
|
export interface CutStepDefinition {
|
|
14
|
-
theFunction(floor: Floor, params: CutStepFunctionParams): MaybePromise<CutStepFunctionOutput |
|
|
15
|
+
theFunction(floor: Floor, params: CutStepFunctionParams): MaybePromise<CutStepFunctionOutput | PredictedResponse>;
|
|
15
16
|
readonly responseContract: ResponseContract.Contract | readonly ResponseContract.Contract[];
|
|
17
|
+
readonly metadata: readonly Metadata[];
|
|
16
18
|
}
|
|
17
19
|
export declare const cutStepKind: import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/cut-step", unknown>>;
|
|
18
20
|
export type _CutStep = (Kind<typeof cutStepKind.definition> & StepKind);
|
|
@@ -2,6 +2,7 @@ import { type DP, type Kind, type O, type AnyFunction } from "@duplojs/utils";
|
|
|
2
2
|
import { type StepKind } from "./kind";
|
|
3
3
|
import { type Request } from "../request";
|
|
4
4
|
import { type ClientErrorResponseCode, type ResponseContract } from "../response";
|
|
5
|
+
import { type Metadata } from "../metadata";
|
|
5
6
|
export interface DisabledExtractKeysCustom {
|
|
6
7
|
}
|
|
7
8
|
export type DisabledExtractKeys = O.GetPropsWithValue<DisabledExtractKeysCustom, true>;
|
|
@@ -9,6 +10,7 @@ export type ExtractShape<GenericRequest extends Request = Request> = Partial<Rec
|
|
|
9
10
|
export interface ExtractStepDefinition {
|
|
10
11
|
readonly shape: ExtractShape;
|
|
11
12
|
readonly responseContract?: ResponseContract.Contract<ClientErrorResponseCode, string, DP.DataParserEmpty>;
|
|
13
|
+
readonly metadata: readonly Metadata[];
|
|
12
14
|
}
|
|
13
15
|
export declare const extractStepKind: import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/extract-step", unknown>>;
|
|
14
16
|
export type _ExtractStep = (Kind<typeof extractStepKind.definition> & StepKind);
|
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
import { type MaybePromise, type Kind } from "@duplojs/utils";
|
|
2
2
|
import { type StepKind } from "./kind";
|
|
3
3
|
import { type Floor } from "../floor";
|
|
4
|
-
import { type
|
|
4
|
+
import { type PredictedResponse, type ResponseContract } from "../response";
|
|
5
5
|
import { type Request } from "../request";
|
|
6
6
|
import { type StepFunctionParams } from "./types";
|
|
7
|
-
|
|
7
|
+
import { type Metadata } from "../metadata";
|
|
8
|
+
export interface HandlerStepFunctionParams<GenericRequest extends Request = Request, GenericResponse extends PredictedResponse = PredictedResponse> extends StepFunctionParams<GenericRequest, GenericResponse> {
|
|
8
9
|
}
|
|
9
10
|
export interface HandlerStepDefinition {
|
|
10
|
-
theFunction(floor: Floor, params: HandlerStepFunctionParams): MaybePromise<
|
|
11
|
+
theFunction(floor: Floor, params: HandlerStepFunctionParams): MaybePromise<PredictedResponse>;
|
|
11
12
|
readonly responseContract: ResponseContract.Contract | readonly ResponseContract.Contract[];
|
|
13
|
+
readonly metadata: readonly Metadata[];
|
|
12
14
|
}
|
|
13
15
|
export declare const handlerStepKind: import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/handler-step", unknown>>;
|
|
14
16
|
type _HandlerStep = (Kind<typeof handlerStepKind.definition> & StepKind);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type Kind } from "@duplojs/utils";
|
|
2
2
|
export declare const stepIdentifier: {
|
|
3
|
-
<GenericKindHandler extends import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/step", unknown>> | import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/checker-step", unknown>> | import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/cut-step", unknown>> | import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/extract-step", unknown>> | import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/handler-step", unknown>> | import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/presetChecker-step", unknown>> | import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/process-step", unknown>>, GenericInput extends
|
|
4
|
-
<GenericKindHandler extends import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/step", unknown>> | import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/checker-step", unknown>> | import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/cut-step", unknown>> | import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/extract-step", unknown>> | import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/handler-step", unknown>> | import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/presetChecker-step", unknown>> | import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/process-step", unknown>>, GenericInput extends
|
|
3
|
+
<GenericKindHandler extends import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/step", unknown>> | import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/checker-step", unknown>> | import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/cut-step", unknown>> | import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/extract-step", unknown>> | import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/handler-step", unknown>> | import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/presetChecker-step", unknown>> | import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/process-step", unknown>>, GenericInput extends unknown, GenericGroupedKind extends import("@duplojs/utils").UnionToIntersection<GenericKindHandler extends import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<string, unknown>> ? Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>>(kind: GenericKindHandler | GenericKindHandler[]): (input: GenericInput) => input is (import("@duplojs/utils").IsEqual<import("@duplojs/utils").IsEqual<false | (GenericInput extends any ? import("@duplojs/utils").IsEqual<GenericInput, Kind<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/step", unknown>, unknown>> : never), boolean>, true> extends true ? Extract<import("./checker").CheckerStep<import("./checker").CheckerStepDefinition>, GenericGroupedKind> | Extract<import("./cut").CutStep<import("./cut").CutStepDefinition>, GenericGroupedKind> | Extract<import("./extract").ExtractStep<import("./extract").ExtractStepDefinition>, GenericGroupedKind> | Extract<import("./handler").HandlerStep<import("./handler").HandlerStepDefinition>, GenericGroupedKind> | Extract<import("./presetChecker").PresetCheckerStep<import("./presetChecker").PresetCheckerStepDefinition>, GenericGroupedKind> | Extract<import("./process").ProcessStep<import("./process").ProcessStepDefinition>, GenericGroupedKind> : never) | Extract<GenericInput, GenericGroupedKind>;
|
|
4
|
+
<GenericKindHandler extends import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/step", unknown>> | import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/checker-step", unknown>> | import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/cut-step", unknown>> | import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/extract-step", unknown>> | import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/handler-step", unknown>> | import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/presetChecker-step", unknown>> | import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/process-step", unknown>>, GenericInput extends unknown, GenericGroupedKind extends import("@duplojs/utils").UnionToIntersection<GenericKindHandler extends import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<string, unknown>> ? Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>>(input: GenericInput, kind: GenericKindHandler | GenericKindHandler[]): input is (import("@duplojs/utils").IsEqual<import("@duplojs/utils").IsEqual<false | (GenericInput extends any ? import("@duplojs/utils").IsEqual<GenericInput, Kind<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/step", unknown>, unknown>> : never), boolean>, true> extends true ? Extract<import("./checker").CheckerStep<import("./checker").CheckerStepDefinition>, GenericGroupedKind> | Extract<import("./cut").CutStep<import("./cut").CutStepDefinition>, GenericGroupedKind> | Extract<import("./extract").ExtractStep<import("./extract").ExtractStepDefinition>, GenericGroupedKind> | Extract<import("./handler").HandlerStep<import("./handler").HandlerStepDefinition>, GenericGroupedKind> | Extract<import("./presetChecker").PresetCheckerStep<import("./presetChecker").PresetCheckerStepDefinition>, GenericGroupedKind> | Extract<import("./process").ProcessStep<import("./process").ProcessStepDefinition>, GenericGroupedKind> : never) | Extract<GenericInput, GenericGroupedKind>;
|
|
5
5
|
};
|
|
@@ -2,9 +2,11 @@ import { type Kind } from "@duplojs/utils";
|
|
|
2
2
|
import { type StepKind } from "./kind";
|
|
3
3
|
import { type Floor } from "../floor";
|
|
4
4
|
import { type PresetChecker } from "../presetChecker";
|
|
5
|
+
import { type Metadata } from "../metadata";
|
|
5
6
|
export interface PresetCheckerStepDefinition {
|
|
6
7
|
readonly presetChecker: PresetChecker;
|
|
7
8
|
input(input: Floor): unknown;
|
|
9
|
+
readonly metadata: readonly Metadata[];
|
|
8
10
|
}
|
|
9
11
|
export declare const presetCheckerStepKind: import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/presetChecker-step", unknown>>;
|
|
10
12
|
export type _PresetCheckerStep = (Kind<typeof presetCheckerStepKind.definition> & StepKind);
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { type Kind } from "@duplojs/utils";
|
|
2
2
|
import { type StepKind } from "./kind";
|
|
3
3
|
import { type Process } from "../process";
|
|
4
|
+
import { type Metadata } from "../metadata";
|
|
4
5
|
export interface ProcessStepDefinition {
|
|
5
6
|
readonly process: Process;
|
|
6
7
|
readonly options?: Record<string, unknown> | ((input: any) => Record<string, unknown>);
|
|
7
8
|
readonly imports?: readonly string[];
|
|
9
|
+
readonly metadata: readonly Metadata[];
|
|
8
10
|
}
|
|
9
11
|
export declare const processStepKind: import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/process-step", unknown>>;
|
|
10
12
|
export type _ProcessStep = (Kind<typeof processStepKind.definition> & StepKind);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type Request } from "../../request";
|
|
2
|
-
import { type
|
|
2
|
+
import { type PredictedResponse } from "../../response";
|
|
3
3
|
import { type IsEqual, type Or } from "@duplojs/utils";
|
|
4
|
-
export interface StepFunctionParams<GenericRequest extends Request = Request, GenericResponse extends
|
|
4
|
+
export interface StepFunctionParams<GenericRequest extends Request = Request, GenericResponse extends PredictedResponse = PredictedResponse> {
|
|
5
5
|
request: GenericRequest;
|
|
6
6
|
response<GenericInformation extends GenericResponse["information"], GenericFilteredResponse extends Extract<GenericResponse, {
|
|
7
7
|
information: GenericInformation;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { type DP } from "@duplojs/utils";
|
|
2
|
+
declare const SymbolForbiddenBigintDataParser: unique symbol;
|
|
3
|
+
export type ForbiddenBigintDataParser<GenericDataParser extends DP.DataParser> = DP.Contain<GenericDataParser, DP.DataParserBigInt<any>> extends true ? {
|
|
4
|
+
[SymbolForbiddenBigintDataParser]: "Bigint dataParser is not supported.";
|
|
5
|
+
} : unknown;
|
|
6
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -10,6 +10,7 @@ declare module "../../core/hub" {
|
|
|
10
10
|
readonly port: number;
|
|
11
11
|
readonly maxBodySize: BytesInString | number;
|
|
12
12
|
readonly informationHeaderKey: string;
|
|
13
|
+
readonly predictedHeaderKey: string;
|
|
13
14
|
readonly fromHookHeaderKey: string;
|
|
14
15
|
readonly http?: http.ServerOptions;
|
|
15
16
|
readonly https?: https.ServerOptions;
|
|
@@ -19,5 +20,5 @@ declare module "../../core/hub" {
|
|
|
19
20
|
readonly serverResponse: http.ServerResponse;
|
|
20
21
|
}
|
|
21
22
|
}
|
|
22
|
-
export type CreateHttpServerParams = O.PartialKeys<Omit<HttpServerParams, "interface">, "maxBodySize" | "informationHeaderKey" | "fromHookHeaderKey">;
|
|
23
|
+
export type CreateHttpServerParams = O.PartialKeys<Omit<HttpServerParams, "interface">, "maxBodySize" | "informationHeaderKey" | "predictedHeaderKey" | "fromHookHeaderKey">;
|
|
23
24
|
export declare function createHttpServer(inputHub: Hub, params: CreateHttpServerParams): Promise<https.Server<typeof http.IncomingMessage, typeof http.ServerResponse> | http.Server<typeof http.IncomingMessage, typeof http.ServerResponse>>;
|
|
@@ -3,18 +3,20 @@
|
|
|
3
3
|
require('../../core/route/index.cjs');
|
|
4
4
|
var utils = require('@duplojs/utils');
|
|
5
5
|
require('./error/index.cjs');
|
|
6
|
-
var
|
|
7
|
-
var
|
|
6
|
+
var hooks = require('../../core/route/hooks.cjs');
|
|
7
|
+
var predicted = require('../../core/response/predicted.cjs');
|
|
8
|
+
var hook = require('../../core/response/hook.cjs');
|
|
8
9
|
var bodySizeExceedsLimitError = require('./error/bodySizeExceedsLimitError.cjs');
|
|
9
10
|
var bodyParseWrongChunkReceived = require('./error/bodyParseWrongChunkReceived.cjs');
|
|
10
11
|
var bodyParseUnknownError = require('./error/bodyParseUnknownError.cjs');
|
|
11
12
|
|
|
12
13
|
function makeNodeHook(hub, serverParams) {
|
|
13
14
|
const informationHeaderKey = serverParams.informationHeaderKey;
|
|
15
|
+
const predictedHeaderKey = serverParams.predictedHeaderKey;
|
|
14
16
|
const fromHookHeaderKey = serverParams.fromHookHeaderKey;
|
|
15
17
|
const isDev = hub.config.environment === "DEV";
|
|
16
18
|
const maxBodySize = utils.stringToBytes(serverParams.maxBodySize);
|
|
17
|
-
return
|
|
19
|
+
return hooks.createHookRouteLifeCycle({
|
|
18
20
|
async parseBody({ request, exit }) {
|
|
19
21
|
const contentType = request.headers["content-type"] instanceof Array
|
|
20
22
|
? request.headers["content-type"].join(", ")
|
|
@@ -79,17 +81,20 @@ function makeNodeHook(hub, serverParams) {
|
|
|
79
81
|
},
|
|
80
82
|
beforeSendResponse({ request, currentResponse, exit }) {
|
|
81
83
|
const body = currentResponse.body;
|
|
82
|
-
if (typeof body === "
|
|
83
|
-
|| typeof body === "string"
|
|
84
|
-
|| body === null
|
|
84
|
+
if (typeof body === "string"
|
|
85
85
|
|| body instanceof Error) {
|
|
86
86
|
currentResponse.setHeader("content-type", "text/plain; charset=utf-8");
|
|
87
87
|
}
|
|
88
|
-
else if (typeof body === "object"
|
|
88
|
+
else if (typeof body === "object"
|
|
89
|
+
|| typeof body === "number"
|
|
90
|
+
|| typeof body === "boolean") {
|
|
89
91
|
currentResponse.setHeader("content-type", "application/json; charset=utf-8");
|
|
90
92
|
}
|
|
91
93
|
currentResponse.setHeader(informationHeaderKey, currentResponse.information);
|
|
92
|
-
if (currentResponse instanceof
|
|
94
|
+
if (currentResponse instanceof predicted.PredictedResponse) {
|
|
95
|
+
currentResponse.setHeader(predictedHeaderKey, "1");
|
|
96
|
+
}
|
|
97
|
+
else if (currentResponse instanceof hook.HookResponse) {
|
|
93
98
|
currentResponse.setHeader(fromHookHeaderKey, currentResponse.fromHook);
|
|
94
99
|
}
|
|
95
100
|
request.raw.response.writeHead(Number(currentResponse.code), currentResponse.headers);
|
|
@@ -101,16 +106,14 @@ function makeNodeHook(hub, serverParams) {
|
|
|
101
106
|
if (body instanceof Error) {
|
|
102
107
|
rawResponse.write(body.toString());
|
|
103
108
|
}
|
|
104
|
-
else if (typeof body === "object"
|
|
109
|
+
else if (typeof body === "object"
|
|
110
|
+
|| typeof body === "number"
|
|
111
|
+
|| typeof body === "boolean") {
|
|
105
112
|
rawResponse.write(JSON.stringify(body));
|
|
106
113
|
}
|
|
107
114
|
else if (typeof body === "string") {
|
|
108
115
|
rawResponse.write(body);
|
|
109
116
|
}
|
|
110
|
-
else if (typeof body === "number"
|
|
111
|
-
|| typeof body === "bigint") {
|
|
112
|
-
rawResponse.write(body.toString());
|
|
113
|
-
}
|
|
114
117
|
rawResponse.end();
|
|
115
118
|
return exit();
|
|
116
119
|
},
|