Files
IB/src/app/eMandate/login/route.ts

42 lines
1.7 KiB
TypeScript

import { NextResponse } from "next/server";
export async function POST(req: Request) {
try {
const formData = await req.formData();
const data = formData.get("data");
const mandateReqDoc = formData.get("mandateReqDoc");
const mndtType = formData.get("mndtType");
console.log("Received from SoftTech:", { data, mandateReqDoc, mndtType });
const forwardedHost = req.headers.get("x-forwarded-host") || req.headers.get("host");
const forwardedProto = req.headers.get("x-forwarded-proto") || "https";
// const encodedData = String(data);
// const redirectUrl = `${forwardedProto}://${forwardedHost}/eMandate/login/page?data=${encodedData}`;
const redirectUrl =`${forwardedProto}://${forwardedHost}/eMandate/login/page?data=${encodeURIComponent(
String(data)
)}&mandateReqDoc=${encodeURIComponent(String(mandateReqDoc))}&mndtType=${encodeURIComponent(
String(mndtType)
)}`;
console.log("redirect urls:", redirectUrl);
const response = NextResponse.redirect(redirectUrl, 303); // use 303 instead of 302
response.headers.set("Access-Control-Allow-Origin", "*");
response.headers.set("Access-Control-Allow-Methods", "POST, OPTIONS");
response.headers.set("Access-Control-Allow-Headers", "Content-Type, Origin");
return response;
} catch (error) {
console.error("Error handling POST:", error);
return NextResponse.json({ error: "Internal Server Error" }, { status: 500 });
}
}
export async function OPTIONS() {
const res = new NextResponse(null, { status: 204 });
res.headers.set("Access-Control-Allow-Origin", "*");
res.headers.set("Access-Control-Allow-Methods", "POST, OPTIONS");
res.headers.set("Access-Control-Allow-Headers", "Content-Type, Origin");
return res;
}