summaryrefslogtreecommitdiff
path: root/node_modules/wrangler/templates/middleware/middleware-pretty-error.ts
diff options
context:
space:
mode:
authorakiyamn2023-09-24 23:22:21 +1000
committerakiyamn2023-09-24 23:22:21 +1000
commit4e87195739f2a5d9a05451b48773c8afdc680765 (patch)
tree9cba501844a4a11dcbdffc4050ed8189561c55ed /node_modules/wrangler/templates/middleware/middleware-pretty-error.ts
downloadprice-tracker-worker-4e87195739f2a5d9a05451b48773c8afdc680765.tar.gz
price-tracker-worker-4e87195739f2a5d9a05451b48773c8afdc680765.zip
Initial commit (by create-cloudflare CLI)
Diffstat (limited to 'node_modules/wrangler/templates/middleware/middleware-pretty-error.ts')
-rw-r--r--node_modules/wrangler/templates/middleware/middleware-pretty-error.ts40
1 files changed, 40 insertions, 0 deletions
diff --git a/node_modules/wrangler/templates/middleware/middleware-pretty-error.ts b/node_modules/wrangler/templates/middleware/middleware-pretty-error.ts
new file mode 100644
index 0000000..29dc6d0
--- /dev/null
+++ b/node_modules/wrangler/templates/middleware/middleware-pretty-error.ts
@@ -0,0 +1,40 @@
+import type { Middleware } from "./common";
+
+// A middleware has to be a function of type Middleware
+const prettyError: Middleware = async (request, env, _ctx, middlewareCtx) => {
+ try {
+ const response = await middlewareCtx.next(request, env);
+ return response;
+ } catch (e: any) {
+ const html = `
+ <!DOCTYPE html>
+ <html lang="en">
+ <head>
+ <meta charset="UTF-8">
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <title>Error 🚨</title>
+ <style>
+ pre {
+ margin: 16px auto;
+ max-width: 600px;
+ background-color: #eeeeee;
+ border-radius: 4px;
+ padding: 16px;
+ }
+ </style>
+ </head>
+ <body>
+ <pre>${e.stack}</pre>
+ </body>
+ </html>
+ `;
+
+ return new Response(html, {
+ status: 500,
+ headers: { "Content-Type": "text/html;charset=utf-8" },
+ });
+ }
+};
+
+export default prettyError;