import { type NextRequest } from 'next/server' export const runtime = 'edge' const apiUrl = process.env.WEB3_API_URL const config: RequestInit = { headers: { 'content-type': 'application/json' }, method: 'GET', next: { revalidate: 30 } } export async function GET(request: NextRequest) { const searchParams = request?.nextUrl?.searchParams const tokenIn = searchParams?.get('tokenIn') const tokenOut = searchParams?.get('tokenOut') const amountIn = searchParams?.get('amountIn') if (!tokenIn || !tokenOut || !amountIn) { return Response.json(null, { status: 400 }) } const url = `${apiUrl}/quote?tokenIn=${tokenIn}&tokenOut=${tokenOut}&amountIn=${amountIn}` let data let status try { const res = await fetch(url, config) const json = await res.json() data = json status = res.status } catch (error: unknown) { console.error((error as Error).message) data = null status = 500 } return new Response(JSON.stringify(data), { status, headers: { 'Content-Type': 'application/json' } }) }