This commit is contained in:
hailin 2025-05-21 19:27:03 +08:00
parent f6ac9c9bba
commit 079596c208
2 changed files with 81 additions and 81 deletions

View File

@ -1,56 +1,57 @@
// import { cookies, headers } from "next/headers";
// export async function POST() {
// const cookieStore = cookies();
// const allCookies = cookieStore.getAll();
// console.log("Clearing the following cookies:");
// // 获取当前请求的 host服务器端
// const hostHeader = headers().get("host");
// const currentHost = hostHeader || "localhost"; // 如果没有 host 信息,使用 "localhost"
// // Loop through all cookies and clear them
// allCookies.forEach(({ name }) => {
// console.log(`............Clearing cookie: ${name}`);
// try {
// cookieStore.set({
// name,
// value: "",
// path: "/",
// maxAge: 0,
// httpOnly: true,
// secure: true,
// sameSite: "lax",
// domain: currentHost, // 使用服务器端获取的 host
// });
// } catch (error) {
// console.error(`Error clearing cookie ${name}:`, error);
// }
// });
// return new Response("Cookies cleared successfully", { status: 200 });
// }
import { cookies, headers } from "next/headers";
import { NextResponse } from 'next/server';
export async function POST(req) {
try {
console.log("Clearing cookies...");
export async function POST() {
const cookieStore = cookies();
const allCookies = cookieStore.getAll();
// Perform cookie clearing logic here
console.log("Clearing the following cookies:");
// Return success response using NextResponse
return NextResponse.json({ message: "Cookies cleared successfully" }, { status: 200 });
} catch (error) {
console.error("Error occurred while clearing cookies:", error);
// Return error response
return NextResponse.json({ error: "Internal server error" }, { status: 500 });
}
// 获取当前请求的 host服务器端
const hostHeader = headers().get("host");
const currentHost = hostHeader || "localhost"; // 如果没有 host 信息,使用 "localhost"
// Loop through all cookies and clear them
allCookies.forEach(({ name }) => {
console.log(`............Clearing cookie: ${name}`);
try {
cookieStore.set({
name,
value: "",
path: "/",
maxAge: 0,
httpOnly: true,
secure: true,
sameSite: "lax",
domain: currentHost, // 使用服务器端获取的 host
});
} catch (error) {
console.error(`Error clearing cookie ${name}:`, error);
}
});
// Return success response using NextResponse
return NextResponse.json({ message: "Cookies cleared successfully" }, { status: 200 });
}
// import { NextResponse } from 'next/server';
// export async function POST(req) {
// try {
// console.log("Clearing cookies...");
// // Perform cookie clearing logic here
// // Return success response using NextResponse
// return NextResponse.json({ message: "Cookies cleared successfully" }, { status: 200 });
// } catch (error) {
// console.error("Error occurred while clearing cookies:", error);
// // Return error response
// return NextResponse.json({ error: "Internal server error" }, { status: 500 });
// }
// }

View File

@ -4,43 +4,42 @@ import { NextResponse, type NextRequest } from "next/server"
import i18nConfig from "./i18nConfig"
export async function middleware(request: NextRequest) {
// const i18nResult = i18nRouter(request, i18nConfig)
// if (i18nResult) return i18nResult
const i18nResult = i18nRouter(request, i18nConfig)
if (i18nResult) return i18nResult
// try {
// const { supabase, response } = createClient(request)
try {
const { supabase, response } = createClient(request)
// const session = await supabase.auth.getSession()
const session = await supabase.auth.getSession()
// const redirectToChat = session && request.nextUrl.pathname === "/"
const redirectToChat = session && request.nextUrl.pathname === "/"
// if (redirectToChat) {
// const { data: homeWorkspace, error } = await supabase
// .from("workspaces")
// .select("*")
// .eq("user_id", session.data.session?.user.id)
// .eq("is_home", true)
// .single()
if (redirectToChat) {
const { data: homeWorkspace, error } = await supabase
.from("workspaces")
.select("*")
.eq("user_id", session.data.session?.user.id)
.eq("is_home", true)
.single()
// if (!homeWorkspace) {
// throw new Error(error?.message)
// }
if (!homeWorkspace) {
throw new Error(error?.message)
}
// console.log("[middleware] redirecting to ",`/${homeWorkspace.id}/chat`)
// return NextResponse.redirect(
// new URL(`/${homeWorkspace.id}/chat`, request.url)
// )
// }
console.log("[middleware] redirecting to ",`/${homeWorkspace.id}/chat`)
return NextResponse.redirect(
new URL(`/${homeWorkspace.id}/chat`, request.url)
)
}
// return response
// } catch (e) {
// return NextResponse.next({
// request: {
// headers: request.headers
// }
// })
// }
return NextResponse.next();
return response
} catch (e) {
return NextResponse.next({
request: {
headers: request.headers
}
})
}
}
export const config = {