This commit is contained in:
parent
f6ac9c9bba
commit
079596c208
|
|
@ -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);
|
||||
// 获取当前请求的 host(服务器端)
|
||||
const hostHeader = headers().get("host");
|
||||
const currentHost = hostHeader || "localhost"; // 如果没有 host 信息,使用 "localhost"
|
||||
|
||||
// Return error response
|
||||
return NextResponse.json({ error: "Internal server error" }, { status: 500 });
|
||||
}
|
||||
// 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 });
|
||||
// }
|
||||
// }
|
||||
|
|
|
|||
|
|
@ -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 = {
|
||||
|
|
|
|||
Loading…
Reference in New Issue