From 90ead98eaa7c075d812b4fb68daaea06f3199045 Mon Sep 17 00:00:00 2001 From: Steven H Date: Fri, 4 Apr 2025 14:59:14 +0100 Subject: [PATCH] Better error handling in revalidate v1 (#3094) --- .changeset/wise-baboons-develop.md | 5 ++++ .../app/(global)/~gitbook/revalidate/route.ts | 23 +++++++++++++++---- 2 files changed, 23 insertions(+), 5 deletions(-) create mode 100644 .changeset/wise-baboons-develop.md 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, + }); + } }