Nxpress LogoNxpressv1.3.8
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');
}