🛡️
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
⚡ झट से 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
इस page में (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.