42 lines
1.7 KiB
TypeScript
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;
|
|
}
|