diff --git a/.changeset/wise-baboons-develop.md b/.changeset/wise-baboons-develop.md new file mode 100644 index 000000000..ac1de10a9 --- /dev/null +++ b/.changeset/wise-baboons-develop.md @@ -0,0 +1,5 @@ +--- +"gitbook": patch +--- + +Better error handling in cache revalidation. diff --git a/packages/gitbook/src/app/(global)/~gitbook/revalidate/route.ts b/packages/gitbook/src/app/(global)/~gitbook/revalidate/route.ts index 91c214e12..85d606e6a 100644 --- a/packages/gitbook/src/app/(global)/~gitbook/revalidate/route.ts +++ b/packages/gitbook/src/app/(global)/~gitbook/revalidate/route.ts @@ -25,10 +25,23 @@ export async function POST(req: NextRequest) { ); } - const result = await revalidateTags(json.tags); + try { + const result = await revalidateTags(json.tags); + return NextResponse.json({ + success: true, + stats: result.stats, + }); + } catch (err: unknown) { + const message = [ + err instanceof Error ? err.name : 'Internal Server Error', + ...(err instanceof Error && err.message ? [err.message] : []), + ...(err instanceof Error && err.cause ? [err.cause] : []), + ...(err instanceof Error && err.stack ? [err.stack] : []), + ].join('\n'); - return NextResponse.json({ - success: true, - stats: result.stats, - }); + return new NextResponse(null, { + status: 500, + statusText: message, + }); + } }