From 4e87195739f2a5d9a05451b48773c8afdc680765 Mon Sep 17 00:00:00 2001 From: akiyamn Date: Sun, 24 Sep 2023 23:22:21 +1000 Subject: Initial commit (by create-cloudflare CLI) --- .../middleware/middleware-miniflare3-json-error.ts | 33 ++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 node_modules/wrangler/templates/middleware/middleware-miniflare3-json-error.ts (limited to 'node_modules/wrangler/templates/middleware/middleware-miniflare3-json-error.ts') diff --git a/node_modules/wrangler/templates/middleware/middleware-miniflare3-json-error.ts b/node_modules/wrangler/templates/middleware/middleware-miniflare3-json-error.ts new file mode 100644 index 0000000..9377781 --- /dev/null +++ b/node_modules/wrangler/templates/middleware/middleware-miniflare3-json-error.ts @@ -0,0 +1,33 @@ +import type { Middleware } from "./common"; + +interface JsonError { + message?: string; + name?: string; + stack?: string; + cause?: JsonError; +} + +function reduceError(e: any): JsonError { + return { + name: e?.name, + message: e?.message ?? String(e), + stack: e?.stack, + cause: e?.cause === undefined ? undefined : reduceError(e.cause), + }; +} + +// See comment in `bundle.ts` for details on why this is needed +const jsonError: Middleware = async (request, env, _ctx, middlewareCtx) => { + try { + return await middlewareCtx.next(request, env); + } catch (e: any) { + const error = reduceError(e); + return Response.json(error, { + status: 500, + headers: { "MF-Experimental-Error-Stack": "true" }, + }); + } +}; + +export default jsonError; +export const wrap = undefined; -- cgit v1.2.3