diff options
| author | Dhravya <[email protected]> | 2024-03-01 11:43:40 -0700 |
|---|---|---|
| committer | Dhravya <[email protected]> | 2024-03-01 11:43:40 -0700 |
| commit | b8e070c1ac37251129774f8e7d70fdbcf94bee8c (patch) | |
| tree | f9793b1146446c9c709a8f752c6b334760a62c36 /apps/web/src/app/api/query | |
| parent | extension workoing (diff) | |
| download | supermemory-b8e070c1ac37251129774f8e7d70fdbcf94bee8c.tar.xz supermemory-b8e070c1ac37251129774f8e7d70fdbcf94bee8c.zip | |
feat: Added AI query UI
Diffstat (limited to 'apps/web/src/app/api/query')
| -rw-r--r-- | apps/web/src/app/api/query/route.ts | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/apps/web/src/app/api/query/route.ts b/apps/web/src/app/api/query/route.ts index 9be23321..4e2f0674 100644 --- a/apps/web/src/app/api/query/route.ts +++ b/apps/web/src/app/api/query/route.ts @@ -24,22 +24,26 @@ export async function GET(req: NextRequest) { const session = {session: sessionData[0], user: user[0]} const query = new URL(req.url).searchParams.get("q"); + const sourcesOnly = new URL(req.url).searchParams.get("sourcesOnly") ?? "false"; if (!query) { return new Response(JSON.stringify({ message: "Invalid query" }), { status: 400 }); } - const resp = await fetch(`https://cf-ai-backend.dhravya.workers.dev/query?q=${query}&user=${session.user.email ?? session.user.name}`, { + const resp = await fetch(`https://cf-ai-backend.dhravya.workers.dev/query?q=${query}&user=${session.user.email ?? session.user.name}&sourcesOnly=${sourcesOnly}`, { headers: { "X-Custom-Auth-Key": env.BACKEND_SECURITY_KEY, } }) - const data = await resp.json() - - if (resp.status !== 200) { - return new Response(JSON.stringify({ message: "Error in CF function", error: data }), { status: resp.status }); + if (resp.status !== 200 || !resp.ok) { + const errorData = await resp.json(); + return new Response(JSON.stringify({ message: "Error in CF function", error: errorData }), { status: resp.status }); } - return new Response(JSON.stringify({ message: "OK", data: data }), { status: 200 }); + // Stream the response back to the client + const { readable, writable } = new TransformStream(); + resp && resp.body!.pipeTo(writable); + + return new Response(readable, { status: 200 }); }
\ No newline at end of file |