Middleware
middleware.js (PROJECT, ROOT, mein) DEFINE, kiya, jaata hai — YE, matching_config, mein, DEFINE, ki, gayi, SAARI, requests, ke, liye, RUN, hota hai, EDGE, RUNTIME, PAR (bahut, FAST).
Middleware, aksar, AUTHENTICATION, (UNAUTHENTICATED, users, ko, login, page, PAR, REDIRECT, karna), LOCALIZATION, aur, A/B, TESTING, ke, liye, USE, hota hai.
// middleware.js:
import { NextResponse } from "next/server";
export function middleware(request) {
const token = request.cookies.get("token");
if (!token && request.nextUrl.pathname.startsWith("/dashboard")) {
return NextResponse.redirect(new URL("/login", request.url));
}
return NextResponse.next();
}
export const config = {
matcher: ["/dashboard/:path*"],
};- middleware.js = SAARI, matching, requests, ke, liye, request, complete, hone, se, PEHLE, RUN, hota, hai
- Edge Runtime, PAR, RUN, hota, hai — EXTREMELY, FAST
- Authentication, localization, A/B, testing, ke, liye, COMMON, use-cases
NextResponse.redirect(), BROWSER, ka, URL, CHANGE, karta hai (VISIBLE, redirect). NextResponse.rewrite(), URL, BAR, mein, DIKHТE, HUE, URL, ko, SAME, RAKHТE, hue, INTERNALLY, EK, DIFFERENT, page, SERVE, karta hai — jaise, A/B, TESTING, ke, liye.
return NextResponse.rewrite(new URL("/variant-b", request.url));matcher config, mein, REGEX-jaise, PATTERNS, USE, kiye, ja, sakte, HAIN — jaise, "/((?!api|_next/static).*)" SAARE, routes, PAR, MATCH, karega, EXCEPT, API, routes, aur, STATIC, files.