10
Folder-Level Middlewares
The filename middleware.ts (or .js) is reserved and applies cascadingly to its directory and all subdirectories.
Directory Cascading & Auto-Collection
- app/middleware.ts -> Applies to all application routes (global).
- app/admin/middleware.ts -> Applies strictly to /admin/*.
- All exported functions inside middleware.ts are collected and executed in declaration order.
app/middleware.ts
import type { Request, Response } from '@nxpress/core';
// Route exclusions
export const ignore = ['/api/health', '/public/*'];
export function logger(req: Request, res: Response) {
console.log(`[LOG] ${req.method} ${req.path}`);
}
export function setSecurityHeader(req: Request, res: Response) {
res.setHeader('X-Frame-Options', 'DENY');
}