@acromia/site-guard
v0.1.0
Published
Vercel Edge Config-backed suspension check for client sites — returns a 503 response when a site is flagged suspended.
Readme
@acromia/site-guard
Reads a site's status from a shared Vercel Edge Config store and returns a 503 suspension response when the site isn't active.
Install
npm install @acromia/site-guard @vercel/edge-configRequires an EDGE_CONFIG environment variable (a Vercel Edge Config read connection string) — connect your project to the shared Edge Config store via the Vercel dashboard's Storage tab.
Usage
Next.js 16 (proxy.ts)
import { NextResponse } from 'next/server';
import { checkSiteStatus } from '@acromia/site-guard';
export async function proxy() {
const blocked = await checkSiteStatus('your-site-slug');
return blocked ?? NextResponse.next();
}
export const config = {
matcher: ['/((?!_next/static|_next/image|favicon.ico).*)'],
};Any other framework (Vercel Routing Middleware)
import { next } from '@vercel/functions';
import { checkSiteStatus } from '@acromia/site-guard';
export default async function middleware() {
const blocked = await checkSiteStatus('your-site-slug');
return blocked ?? next();
}
export const config = {
runtime: 'edge',
matcher: ['/((?!favicon.ico).*)'],
};