fix: dev crashing when middleware crash
Signed-off-by: Florian BOUILLON <f.bouillon@aptatio.com>
This commit is contained in:
parent
211cfc4197
commit
b344bdb849
@ -1,4 +1,5 @@
|
||||
import { defineMiddleware } from "astro/middleware"
|
||||
import ResponseBuilder from 'libs/ResponseBuilder'
|
||||
|
||||
// `context` and `next` are automatically typed
|
||||
export default defineMiddleware(async ({ request }, next) => {
|
||||
@ -6,7 +7,21 @@ export default defineMiddleware(async ({ request }, next) => {
|
||||
console.log(`${prefix} ${request.url}`)
|
||||
|
||||
// can crash if response crash
|
||||
const res = await next()
|
||||
console.log(`${prefix} ${'status' in res ? res.status : '???'} ${request.url}`)
|
||||
return res
|
||||
try {
|
||||
const res = await next()
|
||||
|
||||
console.log(`${prefix} ${res.status} ${request.url}`)
|
||||
|
||||
return res
|
||||
} catch (e) {
|
||||
console.log(`${prefix} 500 ${request.url}`)
|
||||
console.error('-------------------------------')
|
||||
console.error(e)
|
||||
console.error('-------------------------------')
|
||||
|
||||
return new ResponseBuilder()
|
||||
.status(500)
|
||||
.body('An error occured while processing your request')
|
||||
.build()
|
||||
}
|
||||
})
|
||||
|
Loading…
x
Reference in New Issue
Block a user