dinoloop-es8
Version:
A lightweight REST API Library for building scalable Node.js server-side applications powered by Typescript
94 lines (93 loc) • 3.54 kB
TypeScript
import { Request, Response, NextFunction } from '../types';
/**
* Extend this class to create ServerErrorMiddleware
*/
export declare abstract class ErrorMiddleware {
abstract invoke(err: Error, request: Request, response: Response, next: NextFunction): void;
}
/**
* Extend this class to create ServerErrorMiddlewareAsync
*/
export declare abstract class ErrorMiddlewareAsync {
abstract invoke(err: Error, request: Request, response: Response, next: NextFunction): Promise<void>;
}
/**
* Extend this class to create ApplicationStartMiddleware
*/
export declare abstract class AppStartMiddleware {
abstract invoke(): void;
}
/**
* Extend this class to create RequestStartMiddleware
*/
export declare abstract class RequestStartMiddleware {
abstract invoke(request: Request, response: Response, next: NextFunction): void;
}
/**
* Extend this class to create RequestStartMiddlewareAsync
*/
export declare abstract class RequestStartMiddlewareAsync {
abstract invoke(request: Request, response: Response, next: NextFunction): Promise<void>;
}
/**
* Extend this class to create RequestEndMiddleware
*/
export declare abstract class RequestEndMiddleware {
abstract invoke(request: Request, response: Response, next: NextFunction, result: any): void;
}
/**
* Extend this class to create RequestEndMiddlewareAsync
*/
export declare abstract class RequestEndMiddlewareAsync {
abstract invoke(request: Request, response: Response, next: NextFunction, result: any): Promise<void>;
}
/**
* Extend this class to create Middleware
*/
export declare abstract class Middleware {
abstract invoke(request: Request, response: Response, next: NextFunction, data?: any): void;
}
/**
* Extend this class to create MiddlewareAsync
*/
export declare abstract class MiddlewareAsync {
abstract invoke(request: Request, response: Response, next: NextFunction, data?: any): Promise<void>;
}
/**
* Extend this class to create ActionFilter
*/
export declare abstract class ActionFilter {
abstract beforeExecution(request: Request, response: Response, next: NextFunction, data?: any): void;
abstract afterExecution(request: Request, response: Response, next: NextFunction, result: any, data?: any): void;
}
/**
* Extend this class to create ActionFilterAsync
*/
export declare abstract class ActionFilterAsync {
abstract beforeExecution(request: Request, response: Response, next: NextFunction, data?: any): Promise<void>;
abstract afterExecution(request: Request, response: Response, next: NextFunction, result: any, data?: any): Promise<void>;
}
/**
* Extend this class to create ExceptionFilter
*/
export declare abstract class ExceptionFilter {
abstract invoke(err: Error, request: Request, response: Response, next: NextFunction): void;
}
/**
* Extend this class to create ExceptionFilterAsync
*/
export declare abstract class ExceptionFilterAsync {
abstract invoke(err: Error, request: Request, response: Response, next: NextFunction): Promise<void>;
}
/**
* Extend this class to create ResultFilter
*/
export declare abstract class ResultFilter {
abstract invoke(request: Request, response: Response, next: NextFunction, result: any, data?: any): void;
}
/**
* Extend this class to create ResultFilterAsync
*/
export declare abstract class ResultFilterAsync {
abstract invoke(request: Request, response: Response, next: NextFunction, result: any, data?: any): Promise<void>;
}