35 lines
1.1 KiB
JavaScript
35 lines
1.1 KiB
JavaScript
// /pages/api/gis-proxy.js
|
|
// Importieren der erforderlichen Module
|
|
import httpProxy from "http-proxy";
|
|
import Cookies from "cookies";
|
|
|
|
// Erstellen eines Proxy-Servers
|
|
const proxy = httpProxy.createProxyServer();
|
|
|
|
export default (req, res) => {
|
|
return new Promise((resolve) => {
|
|
// CORS-Headers einstellen
|
|
res.setHeader("Access-Control-Allow-Credentials", true);
|
|
res.setHeader("Access-Control-Allow-Origin", "*");
|
|
|
|
// Cookies initialisieren
|
|
const cookies = new Cookies(req, res);
|
|
const targetUrl = `${process.env.NEXT_PUBLIC_SERVER_URL}/talas5/ClientData/WebserviceMap.asmx/GisSystemStatic`;
|
|
|
|
// Proxy-Konfiguration und Event-Listener
|
|
req.on("data", () => {});
|
|
req.on("end", () => {
|
|
proxy.web(req, res, { target: targetUrl, changeOrigin: true, selfHandleResponse: false }, (e) => {
|
|
if (e) {
|
|
console.error(e);
|
|
res.status(500).json({ error: "Proxy-Fehler", e });
|
|
}
|
|
resolve();
|
|
});
|
|
});
|
|
|
|
// Weiterleitung der Headers
|
|
req.headers.cookie = cookies.get("cookie-name") || "";
|
|
});
|
|
};
|