- 新增 ACME客户端功能,支持域名注册和证书申请 - 添加数据库模型和操作,用于存储和管理域名信息 - 实现 API 接口,提供域名注册、获取和分页查询功能 -集成全局错误处理和 panic捕获 - 添加单元测试和集成测试
34 lines
583 B
Go
34 lines
583 B
Go
package handler
|
|
|
|
import (
|
|
"acme-mana-server-go/vo"
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
func GlobalPanicHandler() gin.HandlerFunc {
|
|
return func(ctx *gin.Context) {
|
|
defer func() {
|
|
if err := recover(); err != nil {
|
|
ctx.JSON(500, vo.Fail(err.(error).Error()))
|
|
ctx.Abort()
|
|
}
|
|
}()
|
|
ctx.Next()
|
|
}
|
|
}
|
|
|
|
func GlobalErrorHandler() gin.HandlerFunc {
|
|
return func(c *gin.Context) {
|
|
c.Next()
|
|
if len(c.Errors) > 0 {
|
|
c.JSON(500, vo.Fail(c.Errors.String()))
|
|
c.Abort()
|
|
}
|
|
err := recover()
|
|
if err != nil {
|
|
c.JSON(500, vo.Fail(err.(error).Error()))
|
|
c.Abort()
|
|
}
|
|
}
|
|
}
|