Middleware

Next.js Middleware beží na Edge Runtime pred každým requestom. Môže redirectovať, rewritovať URL, nastavovať hlavičky alebo autorizovať.

Čo robí middleware tejto aplikácie

  • HEADERPridáva hlavičku x-pathname s aktuálnou URL cestou
  • INFOLoguje requesty na server konzolu
middleware.ts
import { NextResponse } from "next/server";
import type { NextRequest } from "next/server";

export function middleware(request: NextRequest) {
  const response = NextResponse.next();

  // Pridaj custom hlavičku
  response.headers.set("x-pathname", request.nextUrl.pathname);

  // Redirect príklad:
  // if (request.nextUrl.pathname === "/old") {
  //   return NextResponse.redirect(new URL("/new", request.url));
  // }

  // Rewrite príklad:
  // return NextResponse.rewrite(new URL("/actual-page", request.url));

  return response;
}

export const config = {
  matcher: ["/((?!_next/static|_next/image|favicon.ico).*)"],
};

Typické použitia middleware

Autentizácia a autorizácia (redirect na /login)
A/B testovanie (rewrite na variant stránky)
Geolokácia (presmerovania podľa krajiny)
Rate limiting
Internacionalizácia (i18n routing)
Logovanie a monitoring