ten / demo /src /middleware.tsx
3v324v23's picture
Зафиксирована рабочая версия TEN-Agent для HuggingFace Space
87337b1
raw
history blame contribute delete
1.48 kB
// middleware.js
import { NextRequest, NextResponse } from 'next/server';
const { AGENT_SERVER_URL } = process.env;
// Check if environment variables are available
if (!AGENT_SERVER_URL) {
throw "Environment variables AGENT_SERVER_URL are not available";
}
export function middleware(req: NextRequest) {
const { pathname } = req.nextUrl;
if (pathname.startsWith('/api/agents/')) {
if (!pathname.startsWith('/api/agents/start')) {
// Proxy all other agents API requests
const url = req.nextUrl.clone();
url.href = `${AGENT_SERVER_URL}${pathname.replace('/api/agents/', '/')}`;
// console.log(`Rewriting request to ${url.href}`);
return NextResponse.rewrite(url);
}
} else if (pathname.startsWith('/api/vector/')) {
// Proxy all other documents requests
const url = req.nextUrl.clone();
url.href = `${AGENT_SERVER_URL}${pathname.replace('/api/vector/', '/vector/')}`;
// console.log(`Rewriting request to ${url.href}`);
return NextResponse.rewrite(url);
} else if (pathname.startsWith('/api/token/')) {
// Proxy all other documents requests
const url = req.nextUrl.clone();
url.href = `${AGENT_SERVER_URL}${pathname.replace('/api/token/', '/token/')}`;
// console.log(`Rewriting request to ${url.href}`);
return NextResponse.rewrite(url);
} else {
return NextResponse.next();
}
}