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 { defineMiddleware } from "astro/middleware"
|
||||||
|
import ResponseBuilder from 'libs/ResponseBuilder'
|
||||||
|
|
||||||
// `context` and `next` are automatically typed
|
// `context` and `next` are automatically typed
|
||||||
export default defineMiddleware(async ({ request }, next) => {
|
export default defineMiddleware(async ({ request }, next) => {
|
||||||
@ -6,7 +7,21 @@ export default defineMiddleware(async ({ request }, next) => {
|
|||||||
console.log(`${prefix} ${request.url}`)
|
console.log(`${prefix} ${request.url}`)
|
||||||
|
|
||||||
// can crash if response crash
|
// can crash if response crash
|
||||||
|
try {
|
||||||
const res = await next()
|
const res = await next()
|
||||||
console.log(`${prefix} ${'status' in res ? res.status : '???'} ${request.url}`)
|
|
||||||
|
console.log(`${prefix} ${res.status} ${request.url}`)
|
||||||
|
|
||||||
return res
|
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