/// import { ServerRequest, ServerResponse } from "http"; import { Context } from "./context"; import { Middleware, MiddlewareHandle, ErrorReason, ContextConstructor, ParsedRoutePathResult, RegExpOptions } from "./define"; import { Request } from "./request"; import { Response } from "./response"; export declare class Core> { /** 中间件堆栈 */ protected readonly stack: Middleware[]; /** Context对象构造函数 */ protected contextConstructor: ContextConstructor; /** 解析路由选项 */ protected readonly routeOptions: RegExpOptions; /** use()当前中间件时的路由规则 */ protected route: ParsedRoutePathResult | null; /** * 创建Context对象 * * @param req 原始ServerRequest对象 * @param res 原始ServerResponse对象 */ protected createContext(req: ServerRequest, res: ServerResponse): C; /** * 解析路由规则 * * @param isPrefix 是否为前缀模式 * @param route 路由规则 */ protected parseRoutePath(isPrefix: boolean, route: string | RegExp): ParsedRoutePathResult; /** * 生成中间件 */ toMiddleware(): (ctx: C) => void; /** * 注册中间件 * * @param route 路由规则 * @param handles 中间件对象或处理函数 */ use(route: string | RegExp, ...handles: Array | Core>): void; /** * 注册中间件 * * @param route 路由 * @param handles 中间件对象或处理函数 */ protected add(route: ParsedRoutePathResult, ...handles: MiddlewareHandle[]): void; /** * 添加中间件到末尾 * * @param route 路由 * @param handles 中间件对象或处理函数 */ protected addToEnd(route: ParsedRoutePathResult, ...handles: MiddlewareHandle[]): void; /** * 通过原始ServerRequest和ServerResponse对象处理请求 * @param req 原始ServerRequest对象 * @param res 原始ServerResponse对象 * @param done 未处理请求回调函数 */ protected handleRequestByRequestResponse(req: ServerRequest, res: ServerResponse, done: (err?: ErrorReason) => void): void; /** * 通过Context对象处理请求 * * @param ctx Context对象 * @param done 未处理请求回调函数 */ protected handleRequestByContext(ctx: C, done: (err?: ErrorReason) => void): void; }