memorium/routes/_middleware.ts

26 lines
570 B
TypeScript
Raw Normal View History

2023-08-01 17:50:00 +02:00
//routes/middleware-error-handler/_middleware.ts
import { MiddlewareHandlerContext } from "$fresh/server.ts";
import { DomainError } from "@lib/errors.ts";
export async function handler(
_req: Request,
ctx: MiddlewareHandlerContext,
) {
try {
ctx.state.flag = true;
return await ctx.next();
} catch (error) {
console.error(error);
if (error instanceof DomainError) {
return new Response(error.statusText, {
status: error.status,
});
}
return new Response("Internal Server Error", {
status: 500,
});
}
}