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-pathnames 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