Spaces:
Sleeping
Sleeping
| import { NextResponse } from 'next/server'; | |
| // The target backend server base URL, derived from environment variable or defaulted. | |
| const TARGET_SERVER_BASE_URL = process.env.SERVER_BASE_URL || 'http://localhost:8001'; | |
| export async function GET() { | |
| try { | |
| const targetUrl = `${TARGET_SERVER_BASE_URL}/models/config`; | |
| // Make the actual request to the backend service | |
| const backendResponse = await fetch(targetUrl, { | |
| method: 'GET', | |
| headers: { | |
| 'Accept': 'application/json', | |
| } | |
| }); | |
| // If the backend service responds with an error | |
| if (!backendResponse.ok) { | |
| return NextResponse.json( | |
| { error: `Backend service responded with status: ${backendResponse.status}` }, | |
| { status: backendResponse.status } | |
| ); | |
| } | |
| // Forward the response from the backend | |
| const modelConfig = await backendResponse.json(); | |
| return NextResponse.json(modelConfig); | |
| } catch (error) { | |
| console.error('Error fetching model configurations:', error); | |
| return new NextResponse(JSON.stringify({ error: error }), { | |
| status: 500, | |
| headers: { 'Content-Type': 'application/json' }, | |
| }); | |
| } | |
| } | |
| // Handle OPTIONS requests for CORS if needed | |
| export function OPTIONS() { | |
| return new NextResponse(null, { | |
| status: 204, | |
| headers: { | |
| 'Access-Control-Allow-Origin': '*', | |
| 'Access-Control-Allow-Methods': 'GET', | |
| 'Access-Control-Allow-Headers': 'Content-Type, Authorization', | |
| }, | |
| }); | |
| } | |