<?php
$targetUrl = "http://127.0.0.1:18080" . $_SERVER['REQUEST_URI'];

$ch = curl_init($targetUrl);

curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_HEADER => true,
    CURLOPT_ENCODING => "" // <--- IMPORTANTE: acepta gzip/brotli/deflate
]);

$response = curl_exec($ch);

$headerSize = curl_getinfo($ch, CURLINFO_HEADER_SIZE);
$header = substr($response, 0, $headerSize);
$body = substr($response, $headerSize);

curl_close($ch);

// reenviar headers EXACTOS que manda Next.js
$headerLines = explode("\r\n", $header);
foreach ($headerLines as $line) {
    if (stripos($line, "Content-Length:") === 0) continue; // evita duplicación
    if (stripos($line, "Transfer-Encoding:") === 0) continue; // evita chunked roto
    if ($line) header($line);
}

echo $body;
