Zarex

Le SDK en conditions réelles

Ici rien n'est simulé côté serveur : votre navigateur envoie de vraies requêtes HTTP, le SDK installé dans cette application les intercepte, et vous voyez exactement ce qu'un visiteur recevrait — statut, en-têtes et corps.

Le navigateur envoie de vraies requêtes HTTP à /api/live/ping. Cette route ne contient aucun code Zarex : c'est proxy.ts qui décide, avant elle, avec Shield et un rate limit de 5 requêtes / 30s par IP.

proxy.ts
import { NextResponse } from "next/server";
import { zarexNext, shield, rateLimit } from "@zarex/next";

const guard = zarexNext({
  key: process.env.ZAREX_KEY!,
  ipSource: "vercel", // VPS derrière nginx : { header: "x-real-ip" }
  rules: [shield(), rateLimit({ max: 5, window: "30s" })],
  secureHeaders: true,
});

export async function proxy(request: Request) {
  // null = autorisé ; sinon la réponse de refus toute prête
  return (await guard(request)) ?? guard.finalize(NextResponse.next(), request);
}

export const config = { matcher: ["/api/live/:path*"] };
Envoyez une requête : le statut HTTP, les en-têtes et le corps reçus s'afficheront ici.