26 lines
570 B
TypeScript
26 lines
570 B
TypeScript
//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,
|
|
});
|
|
}
|
|
}
|