import { RequestLifecycle } from "../router"; import { HttpRequest, HttpResponse } from "@http4t/core/contract"; import * as lenses from "../lenses"; import { WrongRoute } from "../lenses"; import { Route } from "../routes"; export type DebugRequestLifecycleOpts = { readonly now: () => Date; }; export declare const DEFAULTS: DebugRequestLifecycleOpts; /** * TODO: read and then re-stream bodies instead of buffering them, so that streaming logic is still exercised */ export declare class DebugRequestLifecycle implements RequestLifecycle { private readonly requestMismatches; private readonly opts; constructor(opts?: Partial); begin(request: HttpRequest): Promise; mismatch(request: HttpRequest, routeKey: string, route: Route, reason: WrongRoute): Promise; match(request: HttpRequest, routeKey: string, route: Route, response: HttpResponse): Promise; clientError(request: HttpRequest, routeKey: string, route: Route, reason: lenses.RouteFailed): Promise; serverError(request: HttpRequest, routeKey: string, route: Route, error: any): Promise; noMatchFound(request: HttpRequest): Promise; private consumeUnmatched; private now; } export declare const DEBUG: RequestLifecycle; //# sourceMappingURL=DebugRequestLifecycle.d.ts.map