25 lines
798 B
TypeScript
25 lines
798 B
TypeScript
import { createServerClient } from "@supabase/ssr";
|
|
import { NextResponse, type NextRequest } from "next/server";
|
|
|
|
export function createClient(request: NextRequest) {
|
|
const supabaseUrl = process.env.NEXT_PUBLIC_SUPABASE_URL!;
|
|
const supabaseAnonKey = process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY!;
|
|
|
|
const response = NextResponse.next({ request });
|
|
|
|
return createServerClient(supabaseUrl, supabaseAnonKey, {
|
|
cookies: {
|
|
getAll() {
|
|
return request.cookies.getAll();
|
|
},
|
|
setAll(cookiesToSet, headers) {
|
|
cookiesToSet.forEach(({ name, value, options }) => {
|
|
response.cookies.set(name, value, options);
|
|
});
|
|
Object.entries(headers).forEach(([key, value]) => {
|
|
response.headers.set(key, value);
|
|
});
|
|
},
|
|
},
|
|
});
|
|
} |