export default { async fetch(request) { try { const targetOrigin = "https://example.com"; // Build new URL const url = new URL(request.url); url.hostname = "example.com"; url.protocol = "https:"; const finalUrl = url.toString(); // Forward headers safely const newHeaders = new Headers(request.headers); newHeaders.delete("host"); newHeaders.delete("cf-connecting-ip"); newHeaders.delete("cf-ipcountry"); newHeaders.delete("cf-ray"); newHeaders.delete("cf-worker"); // Forward request const response = await fetch(finalUrl, { method: request.method, headers: newHeaders, body: request.method !== "GET" && request.method !== "HEAD" ? request.body : null, redirect: "follow" }); // Copy response headers const resHeaders = new Headers(response.headers); return new Response(response.body, { status: response.status, headers: resHeaders }); } catch (err) { return new Response(`Proxy error: ${err.message}`, { status: 502 }); } } };