Nuxt/docs/content/3.server/3.middleware.md

811 B

Server Middleware

Nuxt will automatically read in any files in the ~/server/middleware to create server middleware for your project.

These files will be run on every request, unlike API routes that are mapped to their own routes. This is typically so you can add a common header to all responses, log responses or modify the incoming request object for use later on in the request chain.

Each file should export a default function that will handle a request.

export default async (req, res) => {
  req.someValue = true
}

There is nothing different about the req/res objects, so typing them is straightforward.

import type { IncomingMessage, ServerResponse } from 'http'

export default async (req: IncomingMessage, res: ServerResponse) => {
  req.someValue = true
}