🛡️
Middleware & Auth

Middleware

Running Code Before Requests Complete
💡 Middleware, EK, "SECURITY, CHECKPOINT" hai, ENTRY, GATE, PAR — HAR, REQUEST, ko, ACTUAL, PAGE/ROUTE, tak, PAHUNCHNE, se, PEHLE, ISME, se, GUZARNA, PADТA, hai — REDIRECT, REWRITE, YA, HEADERS, MODIFY, ki, ja, sakti, HAIN.

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, EK, "SECURITY, CHECKPOINT" hai, ENTRY, GATE, PAR — HAR, REQUEST, ko, ACTUAL, PAGE/ROUTE, tak, PAHUNCHNE, se, PEHLE, ISME, se, GUZARNA, PADТA, hai — REDIRECT, REWRITE, YA, HEADERS, MODIFY, ki, ja, sakti, HAIN.
1 / 2
⚡ Quick Recap
  • 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
Is page mein (2 subtopics)

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.

💡Tip: Middleware, ko, SIRF, ZAROORI, routes, PAR, hi, RUN, karna, chahiye — EK, TOO-BROAD, matcher, se, UNNECESSARY, latency, HAR, request, PAR, ADD, ho, sakti, hai.