From dca5c940301b8595c9460d122bdfd9a67fd2c3f6 Mon Sep 17 00:00:00 2001 From: "tomosa.sarkar" Date: Thu, 6 Nov 2025 17:08:30 +0530 Subject: [PATCH] fix :eMandate --- src/app/eMandate/login/route.ts | 71 ++++++++++++++++++++++++++------- 1 file changed, 56 insertions(+), 15 deletions(-) diff --git a/src/app/eMandate/login/route.ts b/src/app/eMandate/login/route.ts index ff094f3..83f4dad 100644 --- a/src/app/eMandate/login/route.ts +++ b/src/app/eMandate/login/route.ts @@ -1,31 +1,72 @@ +// 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"); +// // const { searchParams } = new URL(req.url); +// // const data = searchParams.get("data"); +// // const mandateReqDoc = searchParams.get("mandateReqDoc"); +// // const mndtType = searchParams.get("mndtType"); + +// console.log("Received from SoftTech:", { data, mandateReqDoc, mndtType }); +// if (!data) { +// return NextResponse.json({ error: "Missing data" }, { status: 400 }); +// } +// const encodedData = String(data); +// const forwardedHost = +// req.headers.get("x-forwarded-host") || "netbankingtest.kccb.in"; +// const forwardedProto = req.headers.get("x-forwarded-proto") || "https"; + +// const redirectUrl = `${forwardedProto}://${forwardedHost}/eMandate/login/page?data=${encodedData}`; + +// console.log("Redirecting to:", redirectUrl); +// return NextResponse.redirect(redirectUrl); + +// } catch (error) { +// console.error("Error handling POST:", error); +// return NextResponse.json({ error: "Internal Server Error" }, { status: 500 }); +// } +// } + 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"); - // const { searchParams } = new URL(req.url); - // const data = searchParams.get("data"); - // const mandateReqDoc = searchParams.get("mandateReqDoc"); - // const mndtType = searchParams.get("mndtType"); - console.log("Received from SoftTech:", { data, mandateReqDoc, mndtType }); - if (!data) { - return NextResponse.json({ error: "Missing data" }, { status: 400 }); - } - const encodedData = String(data); - const forwardedHost = - req.headers.get("x-forwarded-host") || "netbankingtest.kccb.in"; + const forwardedHost = req.headers.get("x-forwarded-host") || req.headers.get("host"); const forwardedProto = req.headers.get("x-forwarded-proto") || "https"; - const redirectUrl = `${forwardedProto}://${forwardedHost}/eMandate/login/page?data=${encodedData}`; + const params = new URLSearchParams({ + data: String(data), + mandateReqDoc: mandateReqDoc ? String(mandateReqDoc) : "", + mndtType: mndtType ? String(mndtType) : "", + }); - console.log("Redirecting to:", redirectUrl); - return NextResponse.redirect(redirectUrl); - + const redirectUrl = `${forwardedProto}://${forwardedHost}/eMandate/login/page?${params.toString()}`; + + 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; +}