import { NextRequest, NextResponse } from "next/server"; export async function GET(request: NextRequest) { console.log('๐งช Debug test endpoint called'); // Get query parameters const { searchParams } = new URL(request.url); const provider = searchParams.get('provider') || 'auto'; const model = searchParams.get('model') || 'Qwen/Qwen2.5-Coder-32B-Instruct'; const testType = searchParams.get('test') || 'simple'; console.log('๐ Test parameters:', { provider, model, testType }); try { // Create a simple streaming response const encoder = new TextEncoder(); const stream = new TransformStream(); const writer = stream.writable.getWriter(); const response = new NextResponse(stream.readable, { headers: { "Content-Type": "text/plain; charset=utf-8", "Cache-Control": "no-cache", Connection: "keep-alive", }, }); // Simulate different response patterns (async () => { try { if (testType === 'simple') { // Test simple streaming const messages = [ 'Hello from debug endpoint!\n', 'This is a test message.\n', '\n', '\n', '
This is a test page.
\n', '\n', '\n' ]; for (let i = 0; i < messages.length; i++) { console.log(`๐ฆ Debug chunk ${i + 1}:`, messages[i].trim()); await writer.write(encoder.encode(messages[i])); await new Promise(resolve => setTimeout(resolve, 200)); // Delay for realism } } else if (testType === 'error') { // Test error case await writer.write(encoder.encode(JSON.stringify({ ok: false, openSelectProvider: true, message: "Test error message" }))); } else if (testType === 'empty') { // Test empty response console.log('๐ Testing empty response'); // Just close without writing anything } console.log('โ Debug test completed'); } catch (error: unknown) { console.error('โ Debug test error:', error); const errorMessage = error instanceof Error ? error.message : 'Unknown error'; await writer.write(encoder.encode(JSON.stringify({ ok: false, message: `Debug test error: ${errorMessage}` }))); } finally { await writer.close(); } })(); return response; } catch (error: unknown) { console.error('โ Debug endpoint error:', error); const errorMessage = error instanceof Error ? error.message : 'Unknown error'; return NextResponse.json( { ok: false, error: errorMessage }, { status: 500 } ); } } export async function POST(request: NextRequest) { console.log('๐งช Debug POST test endpoint called'); const body = await request.json(); console.log('๐ Request body:', body); return NextResponse.json({ ok: true, message: "Debug POST successful", receivedData: body, timestamp: new Date().toISOString() }); }