@beignet/core
Version:
Core framework primitives for Beignet
25 lines • 1.13 kB
TypeScript
import type { HttpContractConfig } from "../contracts/index.js";
import type { HttpRequestLike, HttpResponseLike, MaybePromise } from "./http.js";
export declare const responseFinalizerHook: unique symbol;
export type ResponseFinalizerResponseOwner = "route" | "framework" | "transport";
export type ResponseFinalizerValidationState = "validated" | "disabled" | "not-applicable";
export type ResponseFinalizerHookArgs<Ctx> = {
req: HttpRequestLike;
ctx?: Ctx;
contract: HttpContractConfig;
path?: unknown;
query?: unknown;
headers?: unknown;
body?: unknown;
response: HttpResponseLike;
error?: unknown;
native?: boolean;
owner: ResponseFinalizerResponseOwner;
responseValidation: ResponseFinalizerValidationState;
};
export type ResponseFinalizerHook<Ctx> = (args: ResponseFinalizerHookArgs<Ctx>) => MaybePromise<void>;
export type ResponseFinalizerServerHook<Ctx> = {
[responseFinalizerHook]?: ResponseFinalizerHook<Ctx>;
};
export declare function getResponseFinalizerHook<Ctx>(hook: unknown): ResponseFinalizerHook<Ctx> | undefined;
//# sourceMappingURL=internal-hooks.d.ts.map