import { ipAddress } from '@vercel/functions';
import { NextRequest } from 'next/server';

export async function GET(request: NextRequest) {
  const clientIp = ipAddress(request);

  // Convert headers from Headers object to plain object
  const headers: { [key: string]: string } = {};
  request.headers.forEach((value, key) => {
    headers[key] = value;
  });

  const response = await fetch(
    process.env.NEXT_PUBLIC_API_BASE_ECS + '/api/ip-address'
  );
  const data = await response.json();

  return Response.json({
    clientIp,
    headers,
    api_response: data,
  });
}
