Spaces:
Paused
Paused
| 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', | |
| '<!DOCTYPE html>\n', | |
| '<html>\n', | |
| '<head><title>Test</title></head>\n', | |
| '<body>\n', | |
| '<h1>Debug Test</h1>\n', | |
| '<p>This is a test page.</p>\n', | |
| '</body>\n', | |
| '</html>\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() | |
| }); | |
| } | |