// pages/api/gisSystemStatic.js // Proxy für GisSystemStatic export default async function handler(req, res) { // CORS-Header setzen res.setHeader("Access-Control-Allow-Credentials", true); res.setHeader("Access-Control-Allow-Origin", "*"); res.setHeader("Access-Control-Allow-Methods", "GET,POST,OPTIONS"); res.setHeader("Access-Control-Allow-Headers", "Content-Type, Authorization"); // OPTIONS-Preflight-Anfrage sofort beantworten if (req.method === "OPTIONS") { res.status(200).end(); return; } try { // Parameter aus URL oder Fallback-Werte verwenden const idMap = req.query.m; // 'm' = idMap const idUser = req.query.u; // 'u' = idUser // Überprüfung, ob Parameter fehlen if (!idMap || !idUser) { res.status(400).json({ error: "Fehlende Parameter", message: "Die Parameter 'm' (idMap) und 'u' (idUser) sind erforderlich. Beispiel: ?m=12&u=484", }); return; // Beende die Funktion, wenn Parameter fehlen } // Dynamische URL basierend auf der Anfrage const protocol = req.headers["x-forwarded-proto"] || "http"; // Protokoll ermitteln const host = req.headers.host.split(":")[0]; // Hostname ohne Port const serverBaseUrl = `${protocol}://${host}:80`; // Port explizit auf 80 setzen console.log("Dynamische Server-URL:", serverBaseUrl); // Debugging // Ziel-URL für den Webservice const targetUrl = `${serverBaseUrl}/talas5/ClientData/WebServiceMap.asmx/GisSystemStatic?idMap=${idMap}&idUser=${idUser}`; console.log(`📦 Ziel-Request → idMap: ${idMap}, idUser: ${idUser}, URL: ${targetUrl}`); // Daten vom Webservice abrufen const response = await fetch(targetUrl, { method: "GET", // GET-Request headers: { "Content-Type": "application/xml", // XML als Antwort erwartet }, }); // Antwort überprüfen if (!response.ok) { throw new Error(`Server antwortet mit Status ${response.status}`); } // XML-Antwort als Text auslesen const xmlText = await response.text(); //console.log("XML-Antwort in /pages/api/gisSystemStatic.js:", xmlText); // Debugging console.log("✅ Daten erhalten: /pages/api/gisSystemStatic.js:"); // XML direkt an den Client zurückgeben res.status(200).send(xmlText); } catch (error) { console.error("Fehler beim Abrufen der Daten in in pages/api/gisSystemStatic.js:", error); res.status(500).json({ error: "Fehler beim Abrufen der Daten" }); } }