Files
webapp-starter/src/server/utils/errorHandler.ts
D8D Developer 71aaeb9424 ci: 添加 Docker 构建和推送工作流
- 新增 Dockerfile 和 .dockerignore 文件
- 添加 Gitea 持续集成工作流,用于构建和推送 Docker 镜像
- 新增 .gitignore 文件,忽略构建和配置文件
- 添加项目结构和规范文档,包括 TypeScript、模块化、API、数据库等规范
- 新增前端和后端的基础代码结构
2025-06-11 09:35:39 +00:00

34 lines
736 B
TypeScript

import { Context } from 'hono'
import { z } from 'zod'
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
)
}