Skip to article
Documentation

src/app/api/session/route.ts

Linked repository file from this build.

import { NextResponse } from "next/server";
import { errorResponse } from "@/lib/api-route";
import { AccountSetupError, getActor } from "@/lib/auth/server";
export async function GET(request: Request) {
  try {
    return NextResponse.json({ actor: await getActor(request) });
  } catch (error) {
    // The client shows account setup for these fields instead of a plain error.
    if (error instanceof AccountSetupError)
      return NextResponse.json(
        { error: error.message, setupFields: error.fields },
        { status: error.status },
      );
    return errorResponse(error, "Unable to load session.");
  }
}