File size: 2,324 Bytes
87337b1 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
// middleware.js
import { NextRequest, NextResponse } from 'next/server';
const { AGENT_SERVER_URL, TEN_DEV_SERVER_URL } = process.env;
// Check if environment variables are available
if (!AGENT_SERVER_URL) {
throw "Environment variables AGENT_SERVER_URL are not available";
}
if (!TEN_DEV_SERVER_URL) {
throw "Environment variables TEN_DEV_SERVER_URL are not available";
}
export async function middleware(req: NextRequest) {
const { pathname } = req.nextUrl;
const url = req.nextUrl.clone();
if (pathname.startsWith(`/api/agents/`)) {
// if (!pathname.startsWith('/api/agents/start')) {
// Proxy all other agents API requests
url.href = `${AGENT_SERVER_URL}${pathname.replace('/api/agents/', '/')}`;
try {
const body = await req.json();
console.log(`Request to ${pathname} with body ${JSON.stringify(body)}`);
} catch (e) {
console.log(`Request to ${pathname} ${e}`);
}
// console.log(`Rewriting request to ${url.href}`);
return NextResponse.rewrite(url);
// } else {
// return NextResponse.next();
// }
} else if (pathname.startsWith(`/api/vector/`)) {
// Proxy all other documents requests
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
url.href = `${AGENT_SERVER_URL}${pathname.replace('/api/token/', '/token/')}`;
// console.log(`Rewriting request to ${url.href}`);
return NextResponse.rewrite(url);
} else if (pathname.startsWith('/api/dev/')) {
if (pathname.startsWith('/api/dev/v1/addons/default-properties')) {
url.href = `${AGENT_SERVER_URL}/dev-tmp/addons/default-properties`;
console.log(`Rewriting request to ${url.href}`);
return NextResponse.rewrite(url);
}
url.href = `${TEN_DEV_SERVER_URL}${pathname.replace('/api/dev/', '/api/designer/')}`;
// console.log(`Rewriting request to ${url.href}`);
return NextResponse.rewrite(url);
} else {
return NextResponse.next();
}
} |