@duplojs/http 0.1.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/README.md +2 -0
- package/dist/core/builders/checker.cjs +20 -0
- package/dist/core/builders/checker.d.ts +17 -0
- package/dist/core/builders/checker.mjs +17 -0
- package/dist/core/builders/index.d.ts +4 -0
- package/dist/core/builders/preflight/builder.cjs +15 -0
- package/dist/core/builders/preflight/builder.d.ts +17 -0
- package/dist/core/builders/preflight/builder.mjs +12 -0
- package/dist/core/builders/preflight/index.d.ts +3 -0
- package/dist/core/builders/preflight/process.cjs +22 -0
- package/dist/core/builders/preflight/process.d.ts +22 -0
- package/dist/core/builders/preflight/process.mjs +20 -0
- package/dist/core/builders/preflight/route.cjs +23 -0
- package/dist/core/builders/preflight/route.d.ts +21 -0
- package/dist/core/builders/preflight/route.mjs +21 -0
- package/dist/core/builders/process/builder.cjs +17 -0
- package/dist/core/builders/process/builder.d.ts +18 -0
- package/dist/core/builders/process/builder.mjs +14 -0
- package/dist/core/builders/process/checker.cjs +23 -0
- package/dist/core/builders/process/checker.d.ts +34 -0
- package/dist/core/builders/process/checker.mjs +21 -0
- package/dist/core/builders/process/cut.cjs +22 -0
- package/dist/core/builders/process/cut.d.ts +19 -0
- package/dist/core/builders/process/cut.mjs +20 -0
- package/dist/core/builders/process/export.cjs +6 -0
- package/dist/core/builders/process/export.d.ts +12 -0
- package/dist/core/builders/process/export.mjs +4 -0
- package/dist/core/builders/process/extract.cjs +22 -0
- package/dist/core/builders/process/extract.d.ts +25 -0
- package/dist/core/builders/process/extract.mjs +20 -0
- package/dist/core/builders/process/index.d.ts +7 -0
- package/dist/core/builders/process/presetChecker.cjs +22 -0
- package/dist/core/builders/process/presetChecker.d.ts +23 -0
- package/dist/core/builders/process/presetChecker.mjs +20 -0
- package/dist/core/builders/process/process.cjs +22 -0
- package/dist/core/builders/process/process.d.ts +22 -0
- package/dist/core/builders/process/process.mjs +20 -0
- package/dist/core/builders/route/builder.cjs +18 -0
- package/dist/core/builders/route/builder.d.ts +16 -0
- package/dist/core/builders/route/builder.mjs +15 -0
- package/dist/core/builders/route/checker.cjs +23 -0
- package/dist/core/builders/route/checker.d.ts +34 -0
- package/dist/core/builders/route/checker.mjs +21 -0
- package/dist/core/builders/route/cut.cjs +22 -0
- package/dist/core/builders/route/cut.d.ts +19 -0
- package/dist/core/builders/route/cut.mjs +20 -0
- package/dist/core/builders/route/extract.cjs +22 -0
- package/dist/core/builders/route/extract.d.ts +25 -0
- package/dist/core/builders/route/extract.mjs +20 -0
- package/dist/core/builders/route/handler.cjs +28 -0
- package/dist/core/builders/route/handler.d.ts +19 -0
- package/dist/core/builders/route/handler.mjs +26 -0
- package/dist/core/builders/route/index.d.ts +8 -0
- package/dist/core/builders/route/presetChecker.cjs +22 -0
- package/dist/core/builders/route/presetChecker.d.ts +23 -0
- package/dist/core/builders/route/presetChecker.mjs +20 -0
- package/dist/core/builders/route/process.cjs +22 -0
- package/dist/core/builders/route/process.d.ts +23 -0
- package/dist/core/builders/route/process.mjs +20 -0
- package/dist/core/builders/route/store.cjs +19 -0
- package/dist/core/builders/route/store.d.ts +13 -0
- package/dist/core/builders/route/store.mjs +17 -0
- package/dist/core/checker.cjs +14 -0
- package/dist/core/checker.d.ts +22 -0
- package/dist/core/checker.mjs +10 -0
- package/dist/core/floor.d.ts +1 -0
- package/dist/core/functionsBuilders/index.d.ts +2 -0
- package/dist/core/functionsBuilders/route/build.cjs +40 -0
- package/dist/core/functionsBuilders/route/build.d.ts +8 -0
- package/dist/core/functionsBuilders/route/build.mjs +38 -0
- package/dist/core/functionsBuilders/route/create.cjs +11 -0
- package/dist/core/functionsBuilders/route/create.d.ts +16 -0
- package/dist/core/functionsBuilders/route/create.mjs +9 -0
- package/dist/core/functionsBuilders/route/default.cjs +143 -0
- package/dist/core/functionsBuilders/route/default.d.ts +1 -0
- package/dist/core/functionsBuilders/route/default.mjs +141 -0
- package/dist/core/functionsBuilders/route/hook.cjs +69 -0
- package/dist/core/functionsBuilders/route/hook.d.ts +7 -0
- package/dist/core/functionsBuilders/route/hook.mjs +62 -0
- package/dist/core/functionsBuilders/route/index.d.ts +4 -0
- package/dist/core/functionsBuilders/steps/build.cjs +24 -0
- package/dist/core/functionsBuilders/steps/build.d.ts +8 -0
- package/dist/core/functionsBuilders/steps/build.mjs +22 -0
- package/dist/core/functionsBuilders/steps/create.cjs +11 -0
- package/dist/core/functionsBuilders/steps/create.d.ts +20 -0
- package/dist/core/functionsBuilders/steps/create.mjs +9 -0
- package/dist/core/functionsBuilders/steps/defaults/checkerStep.cjs +73 -0
- package/dist/core/functionsBuilders/steps/defaults/checkerStep.d.ts +1 -0
- package/dist/core/functionsBuilders/steps/defaults/checkerStep.mjs +71 -0
- package/dist/core/functionsBuilders/steps/defaults/cutStep.cjs +58 -0
- package/dist/core/functionsBuilders/steps/defaults/cutStep.d.ts +1 -0
- package/dist/core/functionsBuilders/steps/defaults/cutStep.mjs +56 -0
- package/dist/core/functionsBuilders/steps/defaults/extractStep.cjs +57 -0
- package/dist/core/functionsBuilders/steps/defaults/extractStep.d.ts +1 -0
- package/dist/core/functionsBuilders/steps/defaults/extractStep.mjs +55 -0
- package/dist/core/functionsBuilders/steps/defaults/handlerStep.cjs +41 -0
- package/dist/core/functionsBuilders/steps/defaults/handlerStep.d.ts +1 -0
- package/dist/core/functionsBuilders/steps/defaults/handlerStep.mjs +39 -0
- package/dist/core/functionsBuilders/steps/defaults/index.d.ts +5 -0
- package/dist/core/functionsBuilders/steps/defaults/processStep.cjs +65 -0
- package/dist/core/functionsBuilders/steps/defaults/processStep.d.ts +4 -0
- package/dist/core/functionsBuilders/steps/defaults/processStep.mjs +62 -0
- package/dist/core/functionsBuilders/steps/index.d.ts +3 -0
- package/dist/core/hub/defaultExtractContract.cjs +8 -0
- package/dist/core/hub/defaultExtractContract.d.ts +6 -0
- package/dist/core/hub/defaultExtractContract.mjs +6 -0
- package/dist/core/hub/defaultNotfoundHandler.cjs +20 -0
- package/dist/core/hub/defaultNotfoundHandler.d.ts +10 -0
- package/dist/core/hub/defaultNotfoundHandler.mjs +18 -0
- package/dist/core/hub/hooks.cjs +38 -0
- package/dist/core/hub/hooks.d.ts +33 -0
- package/dist/core/hub/hooks.mjs +30 -0
- package/dist/core/hub/index.cjs +157 -0
- package/dist/core/hub/index.d.ts +58 -0
- package/dist/core/hub/index.mjs +145 -0
- package/dist/core/index.cjs +141 -0
- package/dist/core/index.d.ts +15 -0
- package/dist/core/index.mjs +57 -0
- package/dist/core/kind.cjs +9 -0
- package/dist/core/kind.d.ts +6 -0
- package/dist/core/kind.mjs +7 -0
- package/dist/core/presetChecker.cjs +39 -0
- package/dist/core/presetChecker.d.ts +38 -0
- package/dist/core/presetChecker.mjs +36 -0
- package/dist/core/process/index.cjs +12 -0
- package/dist/core/process/index.d.ts +31 -0
- package/dist/core/process/index.mjs +9 -0
- package/dist/core/process/types/index.d.ts +1 -0
- package/dist/core/request.cjs +34 -0
- package/dist/core/request.d.ts +40 -0
- package/dist/core/request.mjs +32 -0
- package/dist/core/response/contract.cjs +91 -0
- package/dist/core/response/contract.d.ts +291 -0
- package/dist/core/response/contract.mjs +91 -0
- package/dist/core/response/index.cjs +45 -0
- package/dist/core/response/index.d.ts +21 -0
- package/dist/core/response/index.mjs +39 -0
- package/dist/core/route/hooks/index.cjs +21 -0
- package/dist/core/route/hooks/index.d.ts +61 -0
- package/dist/core/route/hooks/index.mjs +16 -0
- package/dist/core/route/hooks/response.cjs +23 -0
- package/dist/core/route/hooks/response.d.ts +13 -0
- package/dist/core/route/hooks/response.mjs +21 -0
- package/dist/core/route/index.cjs +16 -0
- package/dist/core/route/index.d.ts +25 -0
- package/dist/core/route/index.mjs +10 -0
- package/dist/core/route/types/buildedRoute.d.ts +2 -0
- package/dist/core/route/types/index.d.ts +1 -0
- package/dist/core/router/buildError.cjs +14 -0
- package/dist/core/router/buildError.d.ts +9 -0
- package/dist/core/router/buildError.mjs +12 -0
- package/dist/core/router/decodeUrl.cjs +47 -0
- package/dist/core/router/decodeUrl.d.ts +7 -0
- package/dist/core/router/decodeUrl.mjs +43 -0
- package/dist/core/router/index.cjs +108 -0
- package/dist/core/router/index.d.ts +7 -0
- package/dist/core/router/index.mjs +102 -0
- package/dist/core/router/pathToRegExp.cjs +9 -0
- package/dist/core/router/pathToRegExp.d.ts +2 -0
- package/dist/core/router/pathToRegExp.mjs +7 -0
- package/dist/core/router/types/buildedRouter.d.ts +12 -0
- package/dist/core/router/types/index.d.ts +1 -0
- package/dist/core/steps/checker.cjs +13 -0
- package/dist/core/steps/checker.d.ts +19 -0
- package/dist/core/steps/checker.mjs +10 -0
- package/dist/core/steps/cut.cjs +15 -0
- package/dist/core/steps/cut.d.ts +22 -0
- package/dist/core/steps/cut.mjs +11 -0
- package/dist/core/steps/extract.cjs +13 -0
- package/dist/core/steps/extract.d.ts +18 -0
- package/dist/core/steps/extract.mjs +10 -0
- package/dist/core/steps/handler.cjs +13 -0
- package/dist/core/steps/handler.d.ts +19 -0
- package/dist/core/steps/handler.mjs +10 -0
- package/dist/core/steps/identifier.cjs +7 -0
- package/dist/core/steps/identifier.d.ts +5 -0
- package/dist/core/steps/identifier.mjs +5 -0
- package/dist/core/steps/index.d.ts +9 -0
- package/dist/core/steps/kind.cjs +7 -0
- package/dist/core/steps/kind.d.ts +3 -0
- package/dist/core/steps/kind.mjs +5 -0
- package/dist/core/steps/presetChecker.cjs +13 -0
- package/dist/core/steps/presetChecker.d.ts +14 -0
- package/dist/core/steps/presetChecker.mjs +10 -0
- package/dist/core/steps/process.cjs +13 -0
- package/dist/core/steps/process.d.ts +14 -0
- package/dist/core/steps/process.mjs +10 -0
- package/dist/core/steps/types/buildedStep.d.ts +5 -0
- package/dist/core/steps/types/index.d.ts +3 -0
- package/dist/core/steps/types/stepFunctionParams.d.ts +12 -0
- package/dist/core/steps/types/steps.d.ts +11 -0
- package/dist/core/stringIdentifier.cjs +7 -0
- package/dist/core/stringIdentifier.d.ts +1 -0
- package/dist/core/stringIdentifier.mjs +5 -0
- package/dist/core/types/environment.d.ts +4 -0
- package/dist/core/types/index.d.ts +1 -0
- package/dist/interfaces/bun/index.cjs +16 -0
- package/dist/interfaces/bun/index.d.ts +2 -0
- package/dist/interfaces/bun/index.mjs +10 -0
- package/dist/interfaces/bun/kind.cjs +9 -0
- package/dist/interfaces/bun/kind.d.ts +6 -0
- package/dist/interfaces/bun/kind.mjs +7 -0
- package/dist/interfaces/bun/types/index.d.ts +1 -0
- package/dist/interfaces/bun/types/request.d.ts +21 -0
- package/dist/interfaces/deno/index.cjs +7 -0
- package/dist/interfaces/deno/index.d.ts +2 -0
- package/dist/interfaces/deno/index.mjs +1 -0
- package/dist/interfaces/deno/kind.cjs +9 -0
- package/dist/interfaces/deno/kind.d.ts +6 -0
- package/dist/interfaces/deno/kind.mjs +7 -0
- package/dist/interfaces/deno/types/index.d.ts +1 -0
- package/dist/interfaces/deno/types/request.d.ts +21 -0
- package/dist/interfaces/node/createHttpServer.cjs +65 -0
- package/dist/interfaces/node/createHttpServer.d.ts +23 -0
- package/dist/interfaces/node/createHttpServer.mjs +63 -0
- package/dist/interfaces/node/error/bodyParseUnknownError.cjs +16 -0
- package/dist/interfaces/node/error/bodyParseUnknownError.d.ts +9 -0
- package/dist/interfaces/node/error/bodyParseUnknownError.mjs +14 -0
- package/dist/interfaces/node/error/bodyParseWrongChunkReceived.cjs +14 -0
- package/dist/interfaces/node/error/bodyParseWrongChunkReceived.d.ts +8 -0
- package/dist/interfaces/node/error/bodyParseWrongChunkReceived.mjs +12 -0
- package/dist/interfaces/node/error/bodySizeExceedsLimitError.cjs +14 -0
- package/dist/interfaces/node/error/bodySizeExceedsLimitError.d.ts +9 -0
- package/dist/interfaces/node/error/bodySizeExceedsLimitError.mjs +12 -0
- package/dist/interfaces/node/error/index.d.ts +3 -0
- package/dist/interfaces/node/hooks.cjs +119 -0
- package/dist/interfaces/node/hooks.d.ts +8 -0
- package/dist/interfaces/node/hooks.mjs +117 -0
- package/dist/interfaces/node/index.cjs +26 -0
- package/dist/interfaces/node/index.d.ts +5 -0
- package/dist/interfaces/node/index.mjs +15 -0
- package/dist/interfaces/node/kind.cjs +9 -0
- package/dist/interfaces/node/kind.d.ts +6 -0
- package/dist/interfaces/node/kind.mjs +7 -0
- package/dist/interfaces/node/types/host.d.ts +4 -0
- package/dist/interfaces/node/types/index.d.ts +2 -0
- package/dist/interfaces/node/types/request.d.ts +23 -0
- package/package.json +82 -0
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var kind = require('../kind.cjs');
|
|
4
|
+
var utils = require('@duplojs/utils');
|
|
5
|
+
var kind$1 = require('./kind.cjs');
|
|
6
|
+
|
|
7
|
+
const handlerStepKind = kind.createCoreLibKind("handler-step");
|
|
8
|
+
function createHandlerStep(definition) {
|
|
9
|
+
return utils.pipe({ definition }, handlerStepKind.setTo, kind$1.stepKind.setTo);
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
exports.createHandlerStep = createHandlerStep;
|
|
13
|
+
exports.handlerStepKind = handlerStepKind;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { type MaybePromise, type Kind } from "@duplojs/utils";
|
|
2
|
+
import { type StepKind } from "./kind";
|
|
3
|
+
import { type Floor } from "../floor";
|
|
4
|
+
import { type Response, type ResponseContract } from "../response";
|
|
5
|
+
import { type Request } from "../request";
|
|
6
|
+
import { type StepFunctionParams } from "./types";
|
|
7
|
+
export interface HandlerStepFunctionParams<GenericRequest extends Request = Request, GenericResponse extends Response = Response> extends StepFunctionParams<GenericRequest, GenericResponse> {
|
|
8
|
+
}
|
|
9
|
+
export interface HandlerStepDefinition {
|
|
10
|
+
theFunction(floor: Floor, params: HandlerStepFunctionParams): MaybePromise<Response>;
|
|
11
|
+
readonly responseContract: ResponseContract.Contract | readonly ResponseContract.Contract[];
|
|
12
|
+
}
|
|
13
|
+
export declare const handlerStepKind: import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/handler-step", unknown>>;
|
|
14
|
+
type _HandlerStep = (Kind<typeof handlerStepKind.definition> & StepKind);
|
|
15
|
+
export interface HandlerStep<GenericDefinition extends HandlerStepDefinition = HandlerStepDefinition> extends _HandlerStep {
|
|
16
|
+
definition: GenericDefinition;
|
|
17
|
+
}
|
|
18
|
+
export declare function createHandlerStep<GenericDefinition extends HandlerStepDefinition>(definition: GenericDefinition): HandlerStep<GenericDefinition>;
|
|
19
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { createCoreLibKind } from '../kind.mjs';
|
|
2
|
+
import { pipe } from '@duplojs/utils';
|
|
3
|
+
import { stepKind } from './kind.mjs';
|
|
4
|
+
|
|
5
|
+
const handlerStepKind = createCoreLibKind("handler-step");
|
|
6
|
+
function createHandlerStep(definition) {
|
|
7
|
+
return pipe({ definition }, handlerStepKind.setTo, stepKind.setTo);
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export { createHandlerStep, handlerStepKind };
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { type Kind } from "@duplojs/utils";
|
|
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 Kind<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/step", unknown>, unknown>, GenericResult extends Extract<import("./checker").CheckerStep<import("./checker").CheckerStepDefinition>, import("@duplojs/utils").UnionToIntersection<GenericKindHandler extends import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<string, unknown>> ? Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./cut").CutStep<import("./cut").CutStepDefinition>, import("@duplojs/utils").UnionToIntersection<GenericKindHandler extends import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<string, unknown>> ? Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./extract").ExtractStep<import("./extract").ExtractStepDefinition>, import("@duplojs/utils").UnionToIntersection<GenericKindHandler extends import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<string, unknown>> ? Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./handler").HandlerStep<import("./handler").HandlerStepDefinition>, import("@duplojs/utils").UnionToIntersection<GenericKindHandler extends import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<string, unknown>> ? Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./presetChecker").PresetCheckerStep<import("./presetChecker").PresetCheckerStepDefinition>, import("@duplojs/utils").UnionToIntersection<GenericKindHandler extends import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<string, unknown>> ? Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./process").ProcessStep<import("./process").ProcessStepDefinition>, 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) => (GenericInput extends any ? import("@duplojs/utils").IsEqual<GenericKindHandler extends any ? import("@duplojs/utils").IsEqual<false | (import("@duplojs/utils").GetKindHandler<GenericInput> extends infer T ? T extends import("@duplojs/utils").GetKindHandler<GenericInput> ? T extends any ? import("@duplojs/utils").IsEqual<T, GenericKindHandler> : never : never : never), boolean> : never, true> extends true ? import("@duplojs/utils/either").EitherSuccess<GenericInput> : import("@duplojs/utils/either").EitherError<GenericInput> : never) | import("@duplojs/utils/either").EitherSuccess<GenericResult>;
|
|
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 Kind<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/step", unknown>, unknown>, GenericResult extends Extract<import("./checker").CheckerStep<import("./checker").CheckerStepDefinition>, import("@duplojs/utils").UnionToIntersection<GenericKindHandler extends import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<string, unknown>> ? Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./cut").CutStep<import("./cut").CutStepDefinition>, import("@duplojs/utils").UnionToIntersection<GenericKindHandler extends import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<string, unknown>> ? Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./extract").ExtractStep<import("./extract").ExtractStepDefinition>, import("@duplojs/utils").UnionToIntersection<GenericKindHandler extends import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<string, unknown>> ? Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./handler").HandlerStep<import("./handler").HandlerStepDefinition>, import("@duplojs/utils").UnionToIntersection<GenericKindHandler extends import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<string, unknown>> ? Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./presetChecker").PresetCheckerStep<import("./presetChecker").PresetCheckerStepDefinition>, import("@duplojs/utils").UnionToIntersection<GenericKindHandler extends import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<string, unknown>> ? Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./process").ProcessStep<import("./process").ProcessStepDefinition>, 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[]): (GenericInput extends any ? import("@duplojs/utils").IsEqual<GenericKindHandler extends any ? import("@duplojs/utils").IsEqual<false | (import("@duplojs/utils").GetKindHandler<GenericInput> extends infer T ? T extends import("@duplojs/utils").GetKindHandler<GenericInput> ? T extends any ? import("@duplojs/utils").IsEqual<T, GenericKindHandler> : never : never : never), boolean> : never, true> extends true ? import("@duplojs/utils/either").EitherSuccess<GenericInput> : import("@duplojs/utils/either").EitherError<GenericInput> : never) | import("@duplojs/utils/either").EitherSuccess<GenericResult>;
|
|
5
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var kind = require('../kind.cjs');
|
|
4
|
+
var utils = require('@duplojs/utils');
|
|
5
|
+
var kind$1 = require('./kind.cjs');
|
|
6
|
+
|
|
7
|
+
const presetCheckerStepKind = kind.createCoreLibKind("presetChecker-step");
|
|
8
|
+
function createPresetCheckerStep(definition) {
|
|
9
|
+
return utils.pipe({ definition }, presetCheckerStepKind.setTo, kind$1.stepKind.setTo);
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
exports.createPresetCheckerStep = createPresetCheckerStep;
|
|
13
|
+
exports.presetCheckerStepKind = presetCheckerStepKind;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type Kind } from "@duplojs/utils";
|
|
2
|
+
import { type StepKind } from "./kind";
|
|
3
|
+
import { type Floor } from "../floor";
|
|
4
|
+
import { type PresetChecker } from "../presetChecker";
|
|
5
|
+
export interface PresetCheckerStepDefinition {
|
|
6
|
+
readonly presetChecker: PresetChecker;
|
|
7
|
+
input(input: Floor): unknown;
|
|
8
|
+
}
|
|
9
|
+
export declare const presetCheckerStepKind: import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/presetChecker-step", unknown>>;
|
|
10
|
+
export type _PresetCheckerStep = (Kind<typeof presetCheckerStepKind.definition> & StepKind);
|
|
11
|
+
export interface PresetCheckerStep<GenericDefinition extends PresetCheckerStepDefinition = PresetCheckerStepDefinition> extends _PresetCheckerStep {
|
|
12
|
+
readonly definition: GenericDefinition;
|
|
13
|
+
}
|
|
14
|
+
export declare function createPresetCheckerStep<GenericDefinition extends PresetCheckerStepDefinition>(definition: GenericDefinition): PresetCheckerStep<GenericDefinition>;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { createCoreLibKind } from '../kind.mjs';
|
|
2
|
+
import { pipe } from '@duplojs/utils';
|
|
3
|
+
import { stepKind } from './kind.mjs';
|
|
4
|
+
|
|
5
|
+
const presetCheckerStepKind = createCoreLibKind("presetChecker-step");
|
|
6
|
+
function createPresetCheckerStep(definition) {
|
|
7
|
+
return pipe({ definition }, presetCheckerStepKind.setTo, stepKind.setTo);
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export { createPresetCheckerStep, presetCheckerStepKind };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var kind = require('../kind.cjs');
|
|
4
|
+
var utils = require('@duplojs/utils');
|
|
5
|
+
var kind$1 = require('./kind.cjs');
|
|
6
|
+
|
|
7
|
+
const processStepKind = kind.createCoreLibKind("process-step");
|
|
8
|
+
function createProcessStep(definition) {
|
|
9
|
+
return utils.pipe({ definition }, processStepKind.setTo, kind$1.stepKind.setTo);
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
exports.createProcessStep = createProcessStep;
|
|
13
|
+
exports.processStepKind = processStepKind;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type Kind } from "@duplojs/utils";
|
|
2
|
+
import { type StepKind } from "./kind";
|
|
3
|
+
import { type Process } from "../process";
|
|
4
|
+
export interface ProcessStepDefinition {
|
|
5
|
+
readonly process: Process;
|
|
6
|
+
readonly options?: Record<string, unknown> | ((input: any) => Record<string, unknown>);
|
|
7
|
+
readonly imports?: readonly string[];
|
|
8
|
+
}
|
|
9
|
+
export declare const processStepKind: import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/process-step", unknown>>;
|
|
10
|
+
export type _ProcessStep = (Kind<typeof processStepKind.definition> & StepKind);
|
|
11
|
+
export interface ProcessStep<GenericDefinition extends ProcessStepDefinition = ProcessStepDefinition> extends _ProcessStep {
|
|
12
|
+
definition: GenericDefinition;
|
|
13
|
+
}
|
|
14
|
+
export declare function createProcessStep<GenericDefinition extends ProcessStepDefinition>(definition: GenericDefinition): ProcessStep<GenericDefinition>;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { createCoreLibKind } from '../kind.mjs';
|
|
2
|
+
import { pipe } from '@duplojs/utils';
|
|
3
|
+
import { stepKind } from './kind.mjs';
|
|
4
|
+
|
|
5
|
+
const processStepKind = createCoreLibKind("process-step");
|
|
6
|
+
function createProcessStep(definition) {
|
|
7
|
+
return pipe({ definition }, processStepKind.setTo, stepKind.setTo);
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export { createProcessStep, processStepKind };
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { type Floor } from "../../floor";
|
|
2
|
+
import { type Request } from "../../request";
|
|
3
|
+
import { type Response } from "../../response";
|
|
4
|
+
import { type MaybePromise } from "@duplojs/utils";
|
|
5
|
+
export type BuildedStep = (request: Request, floor: Floor) => MaybePromise<Floor | Response>;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { type Request } from "../../request";
|
|
2
|
+
import { type Response } from "../../response";
|
|
3
|
+
import { type IsEqual, type Or } from "@duplojs/utils";
|
|
4
|
+
export interface StepFunctionParams<GenericRequest extends Request = Request, GenericResponse extends Response = Response> {
|
|
5
|
+
request: GenericRequest;
|
|
6
|
+
response<GenericInformation extends GenericResponse["information"], GenericFilteredResponse extends Extract<GenericResponse, {
|
|
7
|
+
information: GenericInformation;
|
|
8
|
+
}>>(information: GenericInformation, ...args: Or<[
|
|
9
|
+
IsEqual<GenericFilteredResponse["body"], unknown>,
|
|
10
|
+
IsEqual<GenericFilteredResponse["body"], undefined>
|
|
11
|
+
]> extends true ? [body?: NoInfer<GenericFilteredResponse["body"]>] : [body: NoInfer<GenericFilteredResponse["body"]>]): GenericFilteredResponse;
|
|
12
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type Kind, type O } from "@duplojs/utils";
|
|
2
|
+
import { type CheckerStep } from "../checker";
|
|
3
|
+
import { type CutStep } from "../cut";
|
|
4
|
+
import { type ExtractStep } from "../extract";
|
|
5
|
+
import { type HandlerStep } from "../handler";
|
|
6
|
+
import { type PresetCheckerStep } from "../presetChecker";
|
|
7
|
+
import { type ProcessStep } from "../process";
|
|
8
|
+
import { type stepKind } from "../kind";
|
|
9
|
+
export interface StepsCustom {
|
|
10
|
+
}
|
|
11
|
+
export type Steps = (StepsCustom[O.GetPropsWithValueExtends<StepsCustom, Kind<typeof stepKind.definition>>] | CheckerStep | CutStep | ExtractStep | HandlerStep | PresetCheckerStep | ProcessStep);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function createCoreLibStringIdentifier<GenericValue extends string>(value: GenericValue): `@duplojs/http/core/${GenericValue}`;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./environment";
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
require('../../core/request.cjs');
|
|
4
|
+
require('../../core/steps/kind.cjs');
|
|
5
|
+
require('../../core/steps/identifier.cjs');
|
|
6
|
+
require('../../core/steps/checker.cjs');
|
|
7
|
+
require('../../core/steps/extract.cjs');
|
|
8
|
+
require('../../core/steps/cut.cjs');
|
|
9
|
+
require('../../core/steps/handler.cjs');
|
|
10
|
+
require('../../core/steps/process.cjs');
|
|
11
|
+
require('../../core/steps/presetChecker.cjs');
|
|
12
|
+
var kind = require('./kind.cjs');
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
exports.createInterfacesBunLibKind = kind.createInterfacesBunLibKind;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import '../../core/request.mjs';
|
|
2
|
+
import '../../core/steps/kind.mjs';
|
|
3
|
+
import '../../core/steps/identifier.mjs';
|
|
4
|
+
import '../../core/steps/checker.mjs';
|
|
5
|
+
import '../../core/steps/extract.mjs';
|
|
6
|
+
import '../../core/steps/cut.mjs';
|
|
7
|
+
import '../../core/steps/handler.mjs';
|
|
8
|
+
import '../../core/steps/process.mjs';
|
|
9
|
+
import '../../core/steps/presetChecker.mjs';
|
|
10
|
+
export { createInterfacesBunLibKind } from './kind.mjs';
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var utils = require('@duplojs/utils');
|
|
4
|
+
|
|
5
|
+
const createInterfacesBunLibKind = utils.createKindNamespace(
|
|
6
|
+
// @ts-expect-error reserved kind namespace
|
|
7
|
+
"DuplojsHttpInterfacesBun");
|
|
8
|
+
|
|
9
|
+
exports.createInterfacesBunLibKind = createInterfacesBunLibKind;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
declare module "@duplojs/utils" {
|
|
2
|
+
interface ReservedKindNamespace {
|
|
3
|
+
DuplojsHttpInterfacesBun: true;
|
|
4
|
+
}
|
|
5
|
+
}
|
|
6
|
+
export declare const createInterfacesBunLibKind: <GenericName extends string, GenericKindValue extends unknown = unknown>(name: GenericName & import("@duplojs/utils/string").ForbiddenString<GenericName, "@" | "/">) => import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<`@DuplojsHttpInterfacesBun/${GenericName}`, GenericKindValue>>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./request";
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import "../../../core/request";
|
|
2
|
+
import "../../../core/steps";
|
|
3
|
+
export interface RawRequest {
|
|
4
|
+
request: Request;
|
|
5
|
+
}
|
|
6
|
+
declare module "../../../core/steps" {
|
|
7
|
+
interface DisabledExtractKeysCustom {
|
|
8
|
+
raw: true;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
declare module "../../../core/request" {
|
|
12
|
+
interface RequestInitializationData {
|
|
13
|
+
raw: RawRequest;
|
|
14
|
+
}
|
|
15
|
+
interface Request {
|
|
16
|
+
/**
|
|
17
|
+
* @deprecated
|
|
18
|
+
*/
|
|
19
|
+
raw: RawRequest;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { createInterfacesDenoLibKind } from './kind.mjs';
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var utils = require('@duplojs/utils');
|
|
4
|
+
|
|
5
|
+
const createInterfacesDenoLibKind = utils.createKindNamespace(
|
|
6
|
+
// @ts-expect-error reserved kind namespace
|
|
7
|
+
"DuplojsHttpInterfacesDeno");
|
|
8
|
+
|
|
9
|
+
exports.createInterfacesDenoLibKind = createInterfacesDenoLibKind;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
declare module "@duplojs/utils" {
|
|
2
|
+
interface ReservedKindNamespace {
|
|
3
|
+
DuplojsHttpInterfacesDeno: true;
|
|
4
|
+
}
|
|
5
|
+
}
|
|
6
|
+
export declare const createInterfacesDenoLibKind: <GenericName extends string, GenericKindValue extends unknown = unknown>(name: GenericName & import("@duplojs/utils/string").ForbiddenString<GenericName, "@" | "/">) => import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<`@DuplojsHttpInterfacesDeno/${GenericName}`, GenericKindValue>>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import "../../../core/request";
|
|
2
|
+
import "../../../core/steps";
|
|
3
|
+
export interface RawRequest {
|
|
4
|
+
request: Request;
|
|
5
|
+
}
|
|
6
|
+
declare module "../../../core/steps" {
|
|
7
|
+
interface DisabledExtractKeysCustom {
|
|
8
|
+
raw: true;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
declare module "../../../core/request" {
|
|
12
|
+
interface RequestInitializationData {
|
|
13
|
+
raw: RawRequest;
|
|
14
|
+
}
|
|
15
|
+
interface Request {
|
|
16
|
+
/**
|
|
17
|
+
* @deprecated
|
|
18
|
+
*/
|
|
19
|
+
raw: RawRequest;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
require('../../core/hub/index.cjs');
|
|
4
|
+
var index = require('../../core/router/index.cjs');
|
|
5
|
+
var http = require('http');
|
|
6
|
+
var https = require('https');
|
|
7
|
+
var hooks$1 = require('./hooks.cjs');
|
|
8
|
+
var hooks = require('../../core/hub/hooks.cjs');
|
|
9
|
+
|
|
10
|
+
async function createHttpServer(inputHub, params) {
|
|
11
|
+
const httpServerParams = {
|
|
12
|
+
...params,
|
|
13
|
+
maxBodySize: "50mb",
|
|
14
|
+
informationHeaderKey: "information",
|
|
15
|
+
fromHookHeaderKey: "from-hook",
|
|
16
|
+
interface: "node",
|
|
17
|
+
};
|
|
18
|
+
const newHub1 = await hooks.launchHookServer(inputHub.aggregatesHooksHubLifeCycle("beforeServerBuildRoute"), inputHub, httpServerParams);
|
|
19
|
+
const router = await index.buildRouter(newHub1.addRouteHooks(hooks$1.makeNodeHook(newHub1, httpServerParams)));
|
|
20
|
+
const newHub2 = await hooks.launchHookServer(newHub1.aggregatesHooksHubLifeCycle("beforeStartServer"), newHub1, httpServerParams);
|
|
21
|
+
const server = params.https
|
|
22
|
+
? https.createServer(params.https)
|
|
23
|
+
: http.createServer(params.http ?? {});
|
|
24
|
+
const serverErrorHooks = newHub1.aggregatesHooksHubLifeCycle("serverError");
|
|
25
|
+
server.addListener("request", (serverRequest, serverResponse) => router
|
|
26
|
+
.exec({
|
|
27
|
+
method: serverRequest.method ?? "",
|
|
28
|
+
headers: serverRequest.headers,
|
|
29
|
+
host: serverRequest.headers.host ?? "",
|
|
30
|
+
origin: serverRequest.headers.origin ?? "",
|
|
31
|
+
url: serverRequest.url ?? "",
|
|
32
|
+
raw: {
|
|
33
|
+
request: serverRequest,
|
|
34
|
+
response: serverResponse,
|
|
35
|
+
},
|
|
36
|
+
})
|
|
37
|
+
.catch(async (error) => {
|
|
38
|
+
await hooks.launchHookServerError(serverErrorHooks, {
|
|
39
|
+
error,
|
|
40
|
+
exit: hooks.serverErrorExitHookFunction,
|
|
41
|
+
next: hooks.serverErrorNextHookFunction,
|
|
42
|
+
serverRequest,
|
|
43
|
+
serverResponse,
|
|
44
|
+
});
|
|
45
|
+
if (!serverResponse.headersSent && !serverResponse.writableEnded) {
|
|
46
|
+
serverResponse.writeHead(500, {
|
|
47
|
+
[httpServerParams.informationHeaderKey]: "critical-server-error",
|
|
48
|
+
});
|
|
49
|
+
serverResponse.write(error?.toString?.() ?? "unknown-server-error");
|
|
50
|
+
}
|
|
51
|
+
if (!serverResponse.writableEnded) {
|
|
52
|
+
serverResponse.end();
|
|
53
|
+
}
|
|
54
|
+
}));
|
|
55
|
+
await new Promise((resolve) => {
|
|
56
|
+
server.listen({
|
|
57
|
+
port: httpServerParams.port,
|
|
58
|
+
host: httpServerParams.host,
|
|
59
|
+
}, () => void resolve());
|
|
60
|
+
});
|
|
61
|
+
await hooks.launchHookServer(newHub2.aggregatesHooksHubLifeCycle("afterStartServer"), newHub2, httpServerParams);
|
|
62
|
+
return server;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
exports.createHttpServer = createHttpServer;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { type HttpServerParams, type Hub } from "../../core/hub";
|
|
2
|
+
import { type Hosts } from "./types/host";
|
|
3
|
+
import { type O, type BytesInString } from "@duplojs/utils";
|
|
4
|
+
import http from "http";
|
|
5
|
+
import https from "https";
|
|
6
|
+
declare module "../../core/hub" {
|
|
7
|
+
interface HttpServerParams {
|
|
8
|
+
readonly interface: "node";
|
|
9
|
+
readonly host: Hosts;
|
|
10
|
+
readonly port: number;
|
|
11
|
+
readonly maxBodySize: BytesInString | number;
|
|
12
|
+
readonly informationHeaderKey: string;
|
|
13
|
+
readonly fromHookHeaderKey: string;
|
|
14
|
+
readonly http?: http.ServerOptions;
|
|
15
|
+
readonly https?: https.ServerOptions;
|
|
16
|
+
}
|
|
17
|
+
interface HttpServerErrorParams {
|
|
18
|
+
readonly serverRequest: http.IncomingMessage;
|
|
19
|
+
readonly serverResponse: http.ServerResponse;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
export type CreateHttpServerParams = O.PartialKeys<Omit<HttpServerParams, "interface">, "maxBodySize" | "informationHeaderKey" | "fromHookHeaderKey">;
|
|
23
|
+
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>>;
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import '../../core/hub/index.mjs';
|
|
2
|
+
import { buildRouter } from '../../core/router/index.mjs';
|
|
3
|
+
import http from 'http';
|
|
4
|
+
import https from 'https';
|
|
5
|
+
import { makeNodeHook } from './hooks.mjs';
|
|
6
|
+
import { launchHookServer, launchHookServerError, serverErrorNextHookFunction, serverErrorExitHookFunction } from '../../core/hub/hooks.mjs';
|
|
7
|
+
|
|
8
|
+
async function createHttpServer(inputHub, params) {
|
|
9
|
+
const httpServerParams = {
|
|
10
|
+
...params,
|
|
11
|
+
maxBodySize: "50mb",
|
|
12
|
+
informationHeaderKey: "information",
|
|
13
|
+
fromHookHeaderKey: "from-hook",
|
|
14
|
+
interface: "node",
|
|
15
|
+
};
|
|
16
|
+
const newHub1 = await launchHookServer(inputHub.aggregatesHooksHubLifeCycle("beforeServerBuildRoute"), inputHub, httpServerParams);
|
|
17
|
+
const router = await buildRouter(newHub1.addRouteHooks(makeNodeHook(newHub1, httpServerParams)));
|
|
18
|
+
const newHub2 = await launchHookServer(newHub1.aggregatesHooksHubLifeCycle("beforeStartServer"), newHub1, httpServerParams);
|
|
19
|
+
const server = params.https
|
|
20
|
+
? https.createServer(params.https)
|
|
21
|
+
: http.createServer(params.http ?? {});
|
|
22
|
+
const serverErrorHooks = newHub1.aggregatesHooksHubLifeCycle("serverError");
|
|
23
|
+
server.addListener("request", (serverRequest, serverResponse) => router
|
|
24
|
+
.exec({
|
|
25
|
+
method: serverRequest.method ?? "",
|
|
26
|
+
headers: serverRequest.headers,
|
|
27
|
+
host: serverRequest.headers.host ?? "",
|
|
28
|
+
origin: serverRequest.headers.origin ?? "",
|
|
29
|
+
url: serverRequest.url ?? "",
|
|
30
|
+
raw: {
|
|
31
|
+
request: serverRequest,
|
|
32
|
+
response: serverResponse,
|
|
33
|
+
},
|
|
34
|
+
})
|
|
35
|
+
.catch(async (error) => {
|
|
36
|
+
await launchHookServerError(serverErrorHooks, {
|
|
37
|
+
error,
|
|
38
|
+
exit: serverErrorExitHookFunction,
|
|
39
|
+
next: serverErrorNextHookFunction,
|
|
40
|
+
serverRequest,
|
|
41
|
+
serverResponse,
|
|
42
|
+
});
|
|
43
|
+
if (!serverResponse.headersSent && !serverResponse.writableEnded) {
|
|
44
|
+
serverResponse.writeHead(500, {
|
|
45
|
+
[httpServerParams.informationHeaderKey]: "critical-server-error",
|
|
46
|
+
});
|
|
47
|
+
serverResponse.write(error?.toString?.() ?? "unknown-server-error");
|
|
48
|
+
}
|
|
49
|
+
if (!serverResponse.writableEnded) {
|
|
50
|
+
serverResponse.end();
|
|
51
|
+
}
|
|
52
|
+
}));
|
|
53
|
+
await new Promise((resolve) => {
|
|
54
|
+
server.listen({
|
|
55
|
+
port: httpServerParams.port,
|
|
56
|
+
host: httpServerParams.host,
|
|
57
|
+
}, () => void resolve());
|
|
58
|
+
});
|
|
59
|
+
await launchHookServer(newHub2.aggregatesHooksHubLifeCycle("afterStartServer"), newHub2, httpServerParams);
|
|
60
|
+
return server;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
export { createHttpServer };
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var utils = require('@duplojs/utils');
|
|
4
|
+
var kind = require('../kind.cjs');
|
|
5
|
+
|
|
6
|
+
class BodyParseUnknownError extends utils.kindHeritage("body-parse-unknown-error", kind.createInterfacesNodeLibKind("body-parse-unknown-error"), Error) {
|
|
7
|
+
contentType;
|
|
8
|
+
unknownError;
|
|
9
|
+
constructor(contentType, unknownError) {
|
|
10
|
+
super({}, [`Error when parsing body with '${contentType}' content-type.`]);
|
|
11
|
+
this.contentType = contentType;
|
|
12
|
+
this.unknownError = unknownError;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
exports.BodyParseUnknownError = BodyParseUnknownError;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
declare const BodyParseUnknownError_base: new (params: {
|
|
2
|
+
"@DuplojsHttpInterfacesNode/body-parse-unknown-error"?: unknown;
|
|
3
|
+
}, parentParams: [message?: string | undefined, options?: ErrorOptions | undefined]) => Error & import("@duplojs/utils").Kind<import("@duplojs/utils").KindDefinition<"@DuplojsHttpInterfacesNode/body-parse-unknown-error", unknown>, unknown> & import("@duplojs/utils").Kind<import("@duplojs/utils").KindDefinition<"body-parse-unknown-error", unknown>, unknown>;
|
|
4
|
+
export declare class BodyParseUnknownError extends BodyParseUnknownError_base {
|
|
5
|
+
contentType: string;
|
|
6
|
+
unknownError: unknown;
|
|
7
|
+
constructor(contentType: string, unknownError: unknown);
|
|
8
|
+
}
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { kindHeritage } from '@duplojs/utils';
|
|
2
|
+
import { createInterfacesNodeLibKind } from '../kind.mjs';
|
|
3
|
+
|
|
4
|
+
class BodyParseUnknownError extends kindHeritage("body-parse-unknown-error", createInterfacesNodeLibKind("body-parse-unknown-error"), Error) {
|
|
5
|
+
contentType;
|
|
6
|
+
unknownError;
|
|
7
|
+
constructor(contentType, unknownError) {
|
|
8
|
+
super({}, [`Error when parsing body with '${contentType}' content-type.`]);
|
|
9
|
+
this.contentType = contentType;
|
|
10
|
+
this.unknownError = unknownError;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export { BodyParseUnknownError };
|