From 9571d269d14f9456b5c36d7777a71e4c48dbd62f Mon Sep 17 00:00:00 2001 From: Tomoki Miyauchi Date: Fri, 14 Oct 2022 23:07:00 +0900 Subject: [PATCH] feat(resolvers): add async error handling --- resolvers.ts | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/resolvers.ts b/resolvers.ts index e1945a5..e2e051f 100644 --- a/resolvers.ts +++ b/resolvers.ts @@ -43,8 +43,13 @@ export function validate(data: json): Result< export async function resolvePostParams( request: Request, ): Promise> { - const text = await request.text(); - const result = unsafe(() => JSON.parse(text)); + const textResult = await request.text().then(Result.ok).catch(Result.err); + + if (isErr(textResult)) { + return Result.err(createHttpError(Status.BadRequest)); + } + + const result = unsafe(() => JSON.parse(textResult.value)); if (isErr(result)) { return Result.err(