han-prev-core
Version: 
Core framework for Han - A powerful Node.js framework inspired by NestJS
29 lines (28 loc) • 1.02 kB
TypeScript
import { Request, Response } from "express";
export interface InterceptorContext {
    req: Request;
    res: Response;
    method: string;
    path: string;
    startTime: number;
    traceId?: string;
}
export interface InterceptorResponse {
    statusCode: number;
    data?: any;
    error?: any;
    duration: number;
}
export interface HanInterceptor {
    beforeHandle?(context: InterceptorContext): void | Promise<void>;
    afterHandle?(context: InterceptorContext, response: InterceptorResponse): void | Promise<void>;
    onError?(context: InterceptorContext, error: any): void | Promise<void>;
}
export declare abstract class BaseInterceptor implements HanInterceptor {
    beforeHandle?(context: InterceptorContext): void | Promise<void>;
    afterHandle?(context: InterceptorContext, response: InterceptorResponse): void | Promise<void>;
    onError?(context: InterceptorContext, error: any): void | Promise<void>;
}
export interface InterceptorConstructor {
    new (...args: any[]): HanInterceptor;
}