UNPKG

stratakit

Version:

stratakit - Meta-framework React puro con Auto Router automático, file-based routing, SEO automático y performance superior

79 lines (78 loc) 2.2 kB
export interface MiddlewareContext { path: string; params: Record<string, string>; query: Record<string, string>; headers: Record<string, string>; cookies: Record<string, string>; user?: any; isAuthenticated: boolean; permissions: string[]; redirect?: string; abort?: boolean; data?: any; } export interface MiddlewareResult { success: boolean; redirect?: string; abort?: boolean; data?: any; error?: string; } export type MiddlewareFunction = (context: MiddlewareContext, next: () => Promise<MiddlewareResult>) => Promise<MiddlewareResult>; export declare class MiddlewareManager { private middlewares; /** * Registrar middleware */ register(name: string, middleware: MiddlewareFunction): void; /** * Ejecutar middlewares en secuencia */ execute(middlewareNames: string[], context: MiddlewareContext): Promise<MiddlewareResult>; /** * Obtener middleware por nombre */ get(name: string): MiddlewareFunction | undefined; /** * Listar todos los middlewares */ list(): string[]; /** * Eliminar middleware */ remove(name: string): boolean; } export declare const middlewareManager: MiddlewareManager; /** * Middleware de autenticación */ export declare const authMiddleware: MiddlewareFunction; /** * Middleware de autorización */ export declare const createPermissionMiddleware: (requiredPermissions: string[]) => MiddlewareFunction; /** * Middleware de rate limiting */ export declare const createRateLimitMiddleware: (maxRequests: number, windowMs: number) => MiddlewareFunction; /** * Middleware de validación de datos */ export declare const createValidationMiddleware: (schema: any) => MiddlewareFunction; /** * Middleware de logging */ export declare const loggingMiddleware: MiddlewareFunction; /** * Middleware de cache */ export declare const createCacheMiddleware: (ttl?: number) => MiddlewareFunction; /** * Middleware de CORS */ export declare const corsMiddleware: MiddlewareFunction; /** * Middleware de seguridad */ export declare const securityMiddleware: MiddlewareFunction; export default middlewareManager;