Respond to Adri's feedback.

This commit is contained in:
Sam Rose 2025-03-03 12:19:59 +00:00
parent aedad69a47
commit 0d2e6d6f5a
No known key found for this signature in database
2 changed files with 24 additions and 20 deletions

View File

@ -146,8 +146,8 @@ function applyRoutes(
addMiddleware(endpoints.read, mapperMiddleware, { output: true }) addMiddleware(endpoints.read, mapperMiddleware, { output: true })
addMiddleware(endpoints.write, mapperMiddleware, { output: true }) addMiddleware(endpoints.write, mapperMiddleware, { output: true })
if (env.isTest()) { if (env.isTest()) {
addMiddleware(endpoints.read, testErrorHandling) addMiddleware(endpoints.read, testErrorHandling())
addMiddleware(endpoints.write, testErrorHandling) addMiddleware(endpoints.write, testErrorHandling())
} }
addToRouter(endpoints.read) addToRouter(endpoints.read)
addToRouter(endpoints.write) addToRouter(endpoints.write)

View File

@ -1,24 +1,28 @@
import { Ctx } from "@budibase/types" import { Ctx } from "@budibase/types"
import environment from "../../../../environment" import environment from "../../../../environment"
export default async (ctx: Ctx, next: any) => { export default () => {
try { if (!environment.isTest()) {
await next() throw new Error("This middleware is only for testing")
} catch (err: any) { }
if (
!(environment.isTest() && ctx.headers["x-budibase-include-stacktrace"]) return async (ctx: Ctx, next: any) => {
) { try {
throw err await next()
} catch (err: any) {
if (!ctx.headers["x-budibase-include-stacktrace"]) {
throw err
}
const status = err.status || err.statusCode || 500
let error = err
while (error.cause) {
error = error.cause
}
ctx.status = status
ctx.body = { status, message: error.message, stack: error.stack }
} }
const status = err.status || err.statusCode || 500
let error = err
while (error.cause) {
error = error.cause
}
ctx.status = status
ctx.body = { status, message: error.message, stack: error.stack }
} }
} }