← back to Professional Directory
agents/web-agent/middleware.ts
24 lines
import { NextRequest, NextResponse } from 'next/server';
const BASIC_AUTH = process.env.BASIC_AUTH || 'admin:DWSecure2024!';
const EXPECTED = 'Basic ' + Buffer.from(BASIC_AUTH).toString('base64');
export function middleware(req: NextRequest) {
const url = req.nextUrl.pathname;
if (url === '/health' || url === '/healthz' || url.startsWith('/_next/') || url === '/favicon.ico') {
return NextResponse.next();
}
const authHeader = req.headers.get('authorization');
if (authHeader === EXPECTED) {
return NextResponse.next();
}
return new NextResponse('auth required', {
status: 401,
headers: { 'WWW-Authenticate': 'Basic realm="mac2-pm2"' },
});
}
export const config = {
matcher: ['/((?!_next/static|_next/image|favicon.ico).*)'],
};