UNPKG

@beignet/core

Version:

Core framework primitives for Beignet

39 lines 1.23 kB
import { type HttpContractConfig } from "../contracts/index.js"; import type { HttpRequestLike, HttpResponseLike } from "./http.js"; /** * Request body limits enforced before contract body validation. */ export interface RequestBodyOptions { /** * Maximum request body size in bytes for JSON/text route bodies. * * @default 1048576 */ maxBytes?: number; } export type PreparedRequestInputs = { path: unknown; query: unknown; headers: unknown; body: unknown; rawHeaders: Record<string, string>; }; export type RequestPreparationResult = { ok: true; inputs: PreparedRequestInputs; } | { ok: false; response: HttpResponseLike; }; export declare function requestHeadersToRecord(headers: Headers): Record<string, string>; export declare function requestBodyLimit(options: RequestBodyOptions | undefined): number; export declare function prepareRequestInputs(args: { contract: HttpContractConfig; req: HttpRequestLike; url: URL; rawHeaders: Record<string, string>; matchedParams: Record<string, string>; maxRequestBodyBytes: number; rawRoute?: boolean; }): Promise<RequestPreparationResult>; //# sourceMappingURL=request-preparation.d.ts.map