mirror of
https://github.com/bytedance/deer-flow.git
synced 2026-05-20 07:01:03 +00:00
9a557751d6
* feat: support memory import and export * fix(memory): address review feedback * style: format memory settings page --------- Co-authored-by: Willem Jiang <willem.jiang@gmail.com>
56 lines
1.5 KiB
TypeScript
56 lines
1.5 KiB
TypeScript
import type { NextRequest } from "next/server";
|
|
|
|
const BACKEND_BASE_URL =
|
|
process.env.NEXT_PUBLIC_BACKEND_BASE_URL ?? "http://127.0.0.1:8001";
|
|
|
|
function buildBackendUrl(pathname: string) {
|
|
return new URL(pathname, BACKEND_BASE_URL);
|
|
}
|
|
|
|
async function proxyRequest(request: NextRequest, pathname: string) {
|
|
const headers = new Headers(request.headers);
|
|
headers.delete("host");
|
|
headers.delete("connection");
|
|
headers.delete("content-length");
|
|
|
|
const hasBody = !["GET", "HEAD"].includes(request.method);
|
|
const response = await fetch(buildBackendUrl(pathname), {
|
|
method: request.method,
|
|
headers,
|
|
body: hasBody ? await request.arrayBuffer() : undefined,
|
|
});
|
|
|
|
return new Response(await response.arrayBuffer(), {
|
|
status: response.status,
|
|
headers: response.headers,
|
|
});
|
|
}
|
|
|
|
export async function GET(
|
|
request: NextRequest,
|
|
{ params }: { params: Promise<{ path: string[] }> },
|
|
) {
|
|
return proxyRequest(request, `/api/memory/${(await params).path.join("/")}`);
|
|
}
|
|
|
|
export async function POST(
|
|
request: NextRequest,
|
|
{ params }: { params: Promise<{ path: string[] }> },
|
|
) {
|
|
return proxyRequest(request, `/api/memory/${(await params).path.join("/")}`);
|
|
}
|
|
|
|
export async function DELETE(
|
|
request: NextRequest,
|
|
{ params }: { params: Promise<{ path: string[] }> },
|
|
) {
|
|
return proxyRequest(request, `/api/memory/${(await params).path.join("/")}`);
|
|
}
|
|
|
|
export async function PATCH(
|
|
request: NextRequest,
|
|
{ params }: { params: Promise<{ path: string[] }> },
|
|
) {
|
|
return proxyRequest(request, `/api/memory/${(await params).path.join("/")}`);
|
|
}
|