import { IDebugger } from "@gongt/ts-stl-library/debug/create-logger"; import { EBodyType, ERequestType } from "@gongt/ts-stl-library/request/request"; import { Request, RequestHandler, Response, Router } from "express-serve-static-core"; import { MulterFileFilter } from "../inject/multer.types"; import { RequestContext } from "./context"; import { InputHelperBuilder } from "./input-helper"; import { IHandlerUsing } from "./input-helper.middleware"; import { AsyncEHCF, EHCF } from "./types"; export interface BodyConfig { bodySize: number | string; bodyType: EBodyType[]; uploadLimit: { size: number; count: number; fileFilter?: MulterFileFilter; }; } export declare class CompleteEvent extends Error { } export declare abstract class ExpressHandler> { protected _method: ERequestType; debugBaseUrl: string; protected _url: string; protected handler: EHCF; protected middlewares: (RequestHandler)[]; readonly debug: IDebugger; readonly error: IDebugger; readonly notice: IDebugger; readonly sill: IDebugger; protected inputHelpers: InputHelperBuilder[]; private extraContextLayers; readonly fileName: string; readonly fileNameStackOffset: number; readonly using: IHandlerUsing; protected abstract instanceContext(req: Request, res: Response): ContextType; constructor(method: ERequestType, url: string); setMethod(method: ERequestType): void; readonly method: ERequestType; readonly methodName: string; setUrl(url: string): void; readonly url: string; private uploadLimit; private bodySize?; private bodyType; readonly bodyConfig: BodyConfig; uploadFileLimit(count: number, sizeKb?: number, fileFilter?: MulterFileFilter): this; limitBodySize(size: number | string): this; accept(...types: EBodyType[]): this; parseCookie(): void; startSession(): void; handleArgument(name: string): InputHelperBuilder; protected getRouteUrl(): any; prependHandler(handler: AsyncEHCF): void; prependMiddleware(middleware: RequestHandler): void; setHandler(handler: EHCF): void; /** * @deprecated */ setAsyncHandler(handler: AsyncEHCF): void; registerRouter(route: Router): void; private wrapDebug(original); }