| 12345678910111213141516171819202122232425262728293031323334 |
- import { Context } from 'hono'
- import { z } from '@hono/zod-openapi'
- import { HTTPException } from 'hono/http-exception'
- export const ErrorSchema = z.object({
- code: z.number().openapi({
- example: 400,
- }),
- message: z.string().openapi({
- example: 'Bad Request',
- }),
- })
- export const errorHandler = async (err: Error, c: Context) => {
- if (err instanceof HTTPException) {
- const details = err.cause ? { details: err.cause instanceof Error ? err.cause.message : err.cause } : {}
- return c.json(
- {
- code: err.status,
- message: err.message,
- ...details
- },
- err.status
- )
- }
- return c.json(
- {
- code: 500,
- message: err.message || 'Internal Server Error'
- },
- 500
- )
- }
|