* Migrate Home Page to App Router * Update themeColor from layout.tsx * port room page to app router * small changes * port custom page to app router * port token and url api routes * port start stop routes * Refactor error handling in GET function * delete pages folder * remove unused function * remove deprecated field from docs: @deprecated — will be enabled by default and removed in Next.js 15 * wrap useSearchParams in Suspense * split up custom page into server and client component * update imports * simplify * Refactor error handling in GET function * refactor to use props for components * Refactor video codec validation and handling * Refactor LiveKitRoom component to handle null liveKitUrl * refactor: improve video codec validation and handling * add video codec typeguard * fix isVideoCodec
21 lines
596 B
TypeScript
21 lines
596 B
TypeScript
import { getLiveKitURL } from '../../../lib/server-utils';
|
|
import { NextResponse } from 'next/server';
|
|
|
|
export async function GET(req: Request) {
|
|
try {
|
|
const url = new URL(req.url);
|
|
const searchParams = url.searchParams;
|
|
const region = searchParams.get('region');
|
|
|
|
if (Array.isArray(region)) {
|
|
throw Error('provide max one region string');
|
|
}
|
|
const livekitUrl = getLiveKitURL(region);
|
|
return NextResponse.json({ url: livekitUrl });
|
|
} catch (error) {
|
|
if (error instanceof Error) {
|
|
return new NextResponse(error.message, { status: 500 });
|
|
}
|
|
}
|
|
}
|